Synapse: Matrix homeserver written in Python/Twisted + Rust
This report summarizes scanner evidence for element-hq/synapse, a Python project with 4,689 GitHub stars. SynthScan examined 572,354 lines of code across 1732 source files, recording 10004 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 24.2 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 8267 finding(s).
Are imports declared and package/API names verified? 616 finding(s).
Are wrappers, guards, and repeated structures necessary? 5794 finding(s).
Which changes need focused human review? 10004 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 10004 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts-dev/make_full_schema.sh | 99 | # Create the output directory if it doesn't exist | COMMENT |
| MEDIUM | scripts-dev/make_full_schema.sh | 208 | # Create the PostgreSQL database. | COMMENT |
| MEDIUM | scripts-dev/release.py | 3 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM⚡ | scripts-dev/release.py | 238 | # Create the new release branch | COMMENT |
| MEDIUM | scripts-dev/release.py | 408 | # Create a new draft release | COMMENT |
| MEDIUM | scripts-dev/check_locked_deps_have_sdists.py | 3 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | scripts-dev/docker_update_debian_changelog.sh | 3 | ## This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | scripts-dev/mypy_synapse_plugin.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | scripts-dev/sign_json.py | 3 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | scripts-dev/check_line_terminators.sh | 3 | ## This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | scripts-dev/federation_client.py | 3 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | docker/configure_workers_and_start.py | 3 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | docker/configure_workers_and_start.py | 942 | # Create the worker configuration directory if it doesn't already exist | STRING |
| MEDIUM | .ci/scripts/calculate_jobs.py | 3 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | .ci/scripts/test_synapse_port_db.sh | 24 | # Create the PostgreSQL database. | COMMENT |
| MEDIUM | .ci/scripts/test_export_data_command.sh | 35 | # Create the PostgreSQL database. | COMMENT |
| MEDIUM | tests/unittest.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/unittest.py | 1099 | # Create the user | COMMENT |
| MEDIUM | tests/test_phone_home.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/server.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/server.py | 1331 | # Create the database before we actually try and connect to it, based off | COMMENT |
| MEDIUM | tests/test_notifier.py | 1 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM⚡ | tests/test_notifier.py | 39 | # Create a token | COMMENT |
| MEDIUM | tests/test_notifier.py | 65 | # Create the new token based on the stream ID above. | COMMENT |
| MEDIUM | tests/test_notifier.py | 112 | # Create the new token based on the stream ID above. | COMMENT |
| MEDIUM | tests/test_notifier.py | 148 | # Create a new token with the stream IDs artificially advanced far into | COMMENT |
| MEDIUM | tests/test_distributor.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/test_visibility.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/__init__.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/test_state.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/test_server.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/test_server.py | 298 | # Create a site and query for the resource. | COMMENT |
| MEDIUM | tests/utils.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/test_terms_auth.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/test_mau.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/test_event_auth.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/test_types.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/metrics/test_metrics.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/metrics/__init__.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/metrics/test_phone_home_stats.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/metrics/test_phone_home_stats.py | 143 | # Create a room between the two users | COMMENT |
| MEDIUM | tests/crypto/test_event_signing.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/crypto/__init__.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/crypto/test_keyring.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/app/test_homeserver_start.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/app/test_openid_listener.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/app/test_homeserver_shutdown.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/app/test_homeserver_shutdown.py | 293 | # The following code serves as an example of what I have found to be useful | COMMENT |
| MEDIUM | tests/util/test_expiring_cache.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/util/test_stringutils.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/util/test_async_helpers.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/util/test_async_helpers.py | 254 | # Create a deferred which we will never complete | COMMENT |
| MEDIUM | tests/util/test_async_helpers.py | 310 | # Create a deferred which we will never complete | COMMENT |
| MEDIUM | tests/util/test_split_dict.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/util/test_wheel_timer.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/util/test_dict_cache.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/util/test_linearizer.py | 2 | # This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| MEDIUM | tests/util/test_linearizer.py | 206 | # Create a second task, waiting for the first task. | COMMENT |
| MEDIUM | tests/util/test_linearizer.py | 210 | # Create a third task, waiting for the second task. | COMMENT |
| MEDIUM⚡ | tests/util/test_linearizer.py | 240 | # Create a second task, waiting for the first task. | COMMENT |
| 1349 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts-dev/release.py | 855 | def get_repo_and_check_clean_checkout( | CODE |
| LOW | scripts-dev/release.py | 971 | def generate_and_write_changelog( | CODE |
| LOW | scripts-dev/mypy_synapse_plugin.py | 235 | def get_function_signature_hook( | CODE |
| LOW | scripts-dev/mypy_synapse_plugin.py | 265 | def get_method_signature_hook( | CODE |
| LOW | scripts-dev/mypy_synapse_plugin.py | 405 | def check_add_system_event_trigger(ctx: MethodSigContext) -> CallableType: | CODE |
| LOW | scripts-dev/mypy_synapse_plugin.py | 453 | def analyze_prometheus_metric_classes(ctx: ClassDefContext) -> None: | CODE |
| LOW | scripts-dev/mypy_synapse_plugin.py | 488 | def check_prometheus_metric_instantiation( | CODE |
| LOW | scripts-dev/mypy_synapse_plugin.py | 625 | def cached_function_method_signature(ctx: MethodSigContext) -> CallableType: | CODE |
| LOW | scripts-dev/mypy_synapse_plugin.py | 702 | def check_is_cacheable_wrapper(ctx: MethodSigContext) -> CallableType: | CODE |
| LOW | scripts-dev/check_schema_delta.py | 256 | def _replace_auto_increment_primary_key_placeholder( | CODE |
| LOW | scripts-dev/federation_client.py | 312 | def get_connection_with_tls_context( | CODE |
| LOW | docker/start.py | 68 | def generate_config_from_template( | CODE |
| LOW | docker/configure_workers_and_start.py | 490 | def add_worker_roles_to_shared_config( | STRING |
| LOW | docker/configure_workers_and_start.py | 555 | def merge_worker_template_configs( | STRING |
| LOW | docker/configure_workers_and_start.py | 593 | def insert_worker_name_for_worker_config( | STRING |
| LOW | docker/configure_workers_and_start.py | 611 | def apply_requested_multiplier_for_worker(worker_types: list[str]) -> list[str]: | STRING |
| LOW | docker/configure_workers_and_start.py | 653 | def is_sharding_allowed_for_worker_type(worker_type: str) -> bool: | STRING |
| LOW | docker/configure_workers_and_start.py | 688 | def generate_base_homeserver_config() -> None: | STRING |
| LOW | docker/configure_workers_and_start.py | 1291 | def generate_worker_log_config( | STRING |
| LOW | tests/unittest.py | 197 | def make_homeserver_config_obj(config: dict[str, Any]) -> HomeServerConfig: | CODE |
| LOW | tests/unittest.py | 301 | def _fail_with_set_inequality( | CODE |
| LOW | tests/unittest.py | 646 | def wait_for_background_updates(self) -> None: | CODE |
| LOW | tests/unittest.py | 1261 | def get_prometheus_metric_current_values( | CODE |
| LOW | tests/unittest.py | 1317 | def get_prometheus_metric_current_value( | CODE |
| LOW | tests/unittest.py | 1413 | def make_signed_federation_request( | CODE |
| LOW | tests/unittest.py | 1459 | def add_hashes_and_signatures_from_other_server( | CODE |
| LOW | tests/test_phone_home.py | 38 | def test_performance_frozen_clock(self) -> None: | CODE |
| LOW | tests/server.py | 795 | def cleanup_test_reactor_system_event_triggers( | CODE |
| LOW⚡ | tests/test_notifier.py | 35 | def test_wait_for_stream_token_with_caught_up_token(self) -> None: | CODE |
| LOW | tests/test_notifier.py | 51 | def test_wait_for_stream_token_with_future_sync_token(self) -> None: | CODE |
| LOW | tests/test_notifier.py | 95 | def test_wait_for_stream_token_with_future_sync_token_timeout( | CODE |
| LOW | tests/test_notifier.py | 140 | def test_wait_for_stream_token_timeout_counts_each_lagging_stream(self) -> None: | CODE |
| LOW | tests/test_notifier.py | 175 | def _get_timeout_counts_from_metric(self) -> "Counter[str]": | CODE |
| LOW | tests/test_visibility.py | 319 | def test_normal_operation_as_admin(self) -> None: | CODE |
| LOW | tests/test_visibility.py | 347 | def test_see_soft_failed_events(self) -> None: | CODE |
| LOW | tests/test_visibility.py | 386 | def test_see_policy_server_spammy_events(self) -> None: | CODE |
| LOW | tests/test_visibility.py | 433 | def test_see_soft_failed_and_policy_server_spammy_events(self) -> None: | CODE |
| LOW | tests/test_visibility.py | 491 | def test_joined_history_visibility(self) -> None: | CODE |
| LOW | tests/test_visibility.py | 592 | def test_out_of_band_invite_rejection(self) -> None: | CODE |
| LOW | tests/test_state.py | 169 | def register_event_id_state_group(self, event_id: str, state_group: int) -> None: | CODE |
| LOW | tests/test_state.py | 175 | async def get_state_group_for_events( | CODE |
| LOW | tests/test_state.py | 309 | def test_branch_basic_conflict( | CODE |
| LOW | tests/test_state.py | 358 | def test_branch_have_banned_conflict( | CODE |
| LOW | tests/test_state.py | 419 | def test_branch_have_perms_conflict( | CODE |
| LOW | tests/test_state.py | 512 | def test_annotate_with_old_message( | CODE |
| LOW | tests/test_state.py | 548 | def test_annotate_with_old_state( | CODE |
| LOW | tests/test_state.py | 591 | def test_trivial_annotate_message( | CODE |
| LOW | tests/test_state.py | 629 | def test_trivial_annotate_state( | CODE |
| LOW | tests/test_state.py | 665 | def test_resolve_message_conflict( | CODE |
| LOW | tests/test_state.py | 708 | def test_resolve_state_conflict( | CODE |
| LOW | tests/test_state.py | 754 | def test_standard_depth_conflict( | CODE |
| LOW | tests/test_state.py | 899 | def test_make_state_cache_entry(self) -> None: | CODE |
| LOW | tests/test_server.py | 95 | def test_callback_direct_exception(self) -> None: | CODE |
| LOW | tests/test_server.py | 115 | def test_callback_indirect_exception(self) -> None: | CODE |
| LOW | tests/test_server.py | 141 | def test_callback_synapseerror(self) -> None: | CODE |
| LOW | tests/test_server.py | 215 | def test_content_larger_than_content_length(self) -> None: | CODE |
| LOW | tests/test_server.py | 245 | def test_content_smaller_than_content_length(self) -> None: | CODE |
| LOW | tests/test_server.py | 320 | def _check_cors_standard_headers(self, channel: FakeChannel) -> None: | CODE |
| LOW | tests/test_server.py | 343 | def test_unknown_options_request(self) -> None: | CODE |
| LOW | tests/test_server.py | 351 | def test_known_options_request(self) -> None: | CODE |
| 4575 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 21 | # We can remove this once https://github.com/python-jsonschema/jsonschema/issues/1426 is fixed | COMMENT |
| LOW | pyproject.toml | 61 | "msgpack>=0.5.2", | COMMENT |
| LOW | pyproject.toml | 81 | # ijson 3.1.4 fixes a bug with "." in property names | COMMENT |
| LOW | pyproject.toml | 101 | COMMENT | |
| LOW | pyproject.toml | 161 | cache-memory = ["pympler>=1.0"] | COMMENT |
| LOW | pyproject.toml | 181 | # saml2 | COMMENT |
| LOW | pyproject.toml | 241 | # $ poetry install | COMMENT |
| LOW | pyproject.toml | 461 | # https://github.com/matrix-org/synapse/issues/14079 where we see buildtime or | COMMENT |
| LOW | mypy.ini | 1 | [mypy] | COMMENT |
| LOW | tox.ini | 21 | # cyptography 2.2 requires setuptools >= 18.5 | COMMENT |
| LOW | tox.ini | 61 | # | COMMENT |
| LOW | tox.ini | 81 | # | COMMENT |
| LOW | scripts-dev/make_full_schema.sh | 261 | sqlite3 "$SQLITE_STATE_DB" ".dump --data-only --nosys" >> "$OUTPUT_DIR/state/full_schemas/$SCHEMA_NUMBER/full.sql.sqlit | COMMENT |
| LOW | scripts-dev/make_full_schema.sh | 281 | # SET client_min_messages = warning; | COMMENT |
| LOW | scripts-dev/release.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | scripts-dev/check_locked_deps_have_sdists.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | scripts-dev/docker_update_debian_changelog.sh | 1 | #!/bin/bash -e | COMMENT |
| LOW | scripts-dev/docker_update_debian_changelog.sh | 21 | COMMENT | |
| LOW | scripts-dev/mypy_synapse_plugin.py | 1 | # | COMMENT |
| LOW | scripts-dev/sign_json.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | scripts-dev/lint.sh | 101 | COMMENT | |
| LOW | scripts-dev/lint.sh | 121 | # --allow-staged and --allow-dirty suppress clippy raising errors | COMMENT |
| LOW | scripts-dev/lint.sh | 141 | ./scripts-dev/gen_config_documentation.py schema/synapse-config.schema.yaml > docs/usage/configuration/config_documentat | COMMENT |
| LOW | scripts-dev/complement.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts-dev/complement.sh | 21 | # | COMMENT |
| LOW | scripts-dev/complement.sh | 41 | # This is important as some Docker storage drivers/types prefer remote images over local | COMMENT |
| LOW | scripts-dev/check_line_terminators.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts-dev/federation_client.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | scripts-dev/schema_versions.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | scripts-dev/schema_versions.py | 121 | return (tag for _, tag in sorted(tags, key=lambda t: t[0])) | COMMENT |
| LOW | docker/configure_workers_and_start.py | 1 | #!/usr/local/bin/python | COMMENT |
| LOW | docker/configure_workers_and_start.py | 21 | # | COMMENT |
| LOW | docker/configure_workers_and_start.py | 41 | # * SYNAPSE_TLS_KEY: Path to a TLS key. If this and SYNAPSE_TLS_CERT are specified, | COMMENT |
| LOW | docker/configure_workers_and_start.py | 401 | # Find/replace the host placeholder in the response body with the actual | COMMENT |
| LOW | docker/configure_workers_and_start.py | 921 | COMMENT | |
| LOW | docker/configure_workers_and_start.py | 1101 | if enable_metrics: | COMMENT |
| LOW | docker/configure_workers_and_start.py | 1121 | # | COMMENT |
| LOW | docker/README-testing.md | 161 | - job_name: synapse | COMMENT |
| LOW | complement/.golangci.yml | 1 | # Docs: https://golangci-lint.run/docs/configuration/file/ | COMMENT |
| LOW | complement/tests/room_messages_test.go | 1 | // This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| LOW | complement/tests/room_messages_test.go | 41 | COMMENT | |
| LOW | complement/tests/room_messages_test.go | 61 | // This test lives in our in-repo Complement tests for Synapse because the Matrix spec | COMMENT |
| LOW | complement/tests/room_messages_test.go | 81 | // points, Synapse will compare `t3` with the backward extremity at an approximate | COMMENT |
| LOW | complement/tests/room_messages_test.go | 161 | slices.Reverse(chronologicalActualEventIds) | COMMENT |
| LOW | complement/tests/federation_test.go | 1 | // This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| LOW | complement/tests/federation_room_join_test.go | 21 | ) | COMMENT |
| LOW | complement/tests/federation_room_join_test.go | 61 | // hs1 fetches our signing keys via /_matrix/key/v2/server to verify our | COMMENT |
| LOW | complement/tests/synapse_version_check_test.go | 1 | // This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| LOW | complement/tests/oidc_test.go | 1 | // This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| LOW | complement/tests/oidc_test.go | 41 | display_name_template: "{{ user.given_name }}" | COMMENT |
| LOW | complement/tests/oidc_test.go | 81 | // Restart the homeserver to apply the new config | COMMENT |
| LOW | complement/tests/main_test.go | 1 | // This file is licensed under the Affero General Public License (AGPL) version 3. | COMMENT |
| LOW | .ci/scripts/checkout_complement.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .ci/scripts/calculate_jobs.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | .ci/scripts/test_synapse_port_db.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | debian/manage_debconf.pl | 1 | #!/usr/bin/perl | COMMENT |
| LOW | rust/src/runtime.rs | 41 | /// down with the reactor. | COMMENT |
| LOW | rust/src/runtime.rs | 121 | /// Shut the tokio runtime down, cancelling all in-flight tasks and waiting | COMMENT |
| LOW | rust/src/runtime.rs | 161 | // Backstop for homeservers whose shutdown trigger never fires (e.g. in | COMMENT |
| LOW | rust/src/room_versions.rs | 41 | impl EventFormatVersions { | COMMENT |
| 1321 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/unittest.py | 1135 | Register an appservice user as an application service. Requires the client-facing registration API be registered | STRING |
| HIGH | tests/rest/client/utils.py | 542 | Read or write some state from a given room Args: room_id: event_type: The type of state | STRING |
| HIGH | tests/rest/client/utils.py | 591 | Gets some state from a room Args: room_id: event_type: The type of state event | STRING |
| HIGH | tests/rest/client/utils.py | 619 | Set some state in a room Args: room_id: event_type: The type of state event | STRING |
| HIGH | synapse/metrics/jemalloc.py | 54 | Wrapper around `mallctl` for reading and writing integers to jemalloc. Args: name: The name | STRING |
| HIGH | synapse/crypto/keyring.py | 765 | Args: keys_to_fetch: the keys to be fetched. key_server: notary server | STRING |
| HIGH | synapse/crypto/keyring.py | 965 | Args: server_name: Server to request keys from Returns: Map from key ID to lo | STRING |
| HIGH | synapse/util/threepids.py | 84 | 'Canonicalise' email address Case folding of local part of email address and lowercase domain part See MSC2265, | STRING |
| HIGH | synapse/util/task_scheduler.py | 236 | Update some task-associated values. This is exposed publicly so it can be used inside task functions, mainly to | STRING |
| HIGH | synapse/util/stringutils.py | 113 | Split a server name into host/port parts. Args: server_name: server name to parse Returns: hos | STRING |
| HIGH | synapse/util/stringutils.py | 144 | Split a server name into host/port parts and do some basic validation. Args: server_name: server name to pa | STRING |
| HIGH | synapse/util/stringutils.py | 211 | Parse the given string as an MXC URI Checks that the "server name" part is a valid server name Args: m | STRING |
| HIGH | synapse/util/msisdn.py | 28 | Takes an ISO-3166-1 2 letter country code and phone number and returns an msisdn representing the canonical ver | STRING |
| HIGH | synapse/util/macaroons.py | 38 | Extracts a caveat value from a macaroon token. Checks that there is exactly one caveat of the form "key = <val>" in | STRING |
| HIGH | synapse/util/macaroons.py | 206 | Verify a guest access token macaroon Checks that the given token is a valid, unexpired guest access token | STRING |
| HIGH | synapse/util/macaroons.py | 269 | Verifies and extract an OIDC session token. This verifies that a given session token was issued by this homeser | STRING |
| HIGH | synapse/util/caches/ttlcache.py | 117 | Get a value, and its expiry time, from the cache Args: key: key to look up Returns: | STRING |
| HIGH | synapse/util/caches/deferred_cache.py | 161 | Looks the key up in the caches. For symmetry with set(), this method does *not* follow the synapse logcontext | STRING |
| HIGH | synapse/config/_base.py | 205 | Convert a duration as a string or integer to a number of milliseconds. If an integer is provided it is treated | STRING |
| HIGH | synapse/config/_base.py | 298 | Load a template file from disk. This function will attempt to load the given template from the default Synapse | STRING |
| HIGH | synapse/config/_base.py | 322 | Load a list of template files from disk using the given variables. This function will attempt to load the given | STRING |
| HIGH | synapse/config/_base.py | 1118 | Check the given file exists, and read it into a string If it does not, emit an error indicating the problem Ar | STRING |
| HIGH | synapse/config/_util.py | 85 | Parse `config` as a mapping from strings to a given `Model` type. Args: config: The configuration data to ch | STRING |
| HIGH | synapse/config/saml2.py | 199 | Generate a configuration dictionary with required and optional attributes that will be needed to process new use | STRING |
| HIGH | synapse/state/__init__.py | 454 | Build an EventContext structure for a non-outlier event. (for an outlier, call EventContext.for_outlier directl | STRING |
| HIGH | synapse/state/__init__.py | 500 | Given a list of event_ids this method fetches the state at each event, resolves conflicts between them and retur | STRING |
| HIGH | synapse/storage/databases/main/registration.py | 1611 | Retrieves the time (in milliseconds) of the last validation of an access token. Args: token_id: The | STRING |
| HIGH | synapse/storage/databases/main/registration.py | 1831 | Generate a random registration token. Used by the admin API. Args: length: The length of the token | STRING |
| HIGH | synapse/storage/databases/main/registration.py | 2206 | Lookup a login token and consume it. Args: token: The login token. Returns: Th | STRING |
| HIGH | synapse/storage/databases/main/registration.py | 2731 | Adds an access token for the given user. Args: user_id: The user ID. token: The new acc | STRING |
| HIGH | synapse/storage/databases/main/registration.py | 2775 | Adds a refresh token for the given user. Args: user_id: The user ID. token: The new acc | STRING |
| HIGH | synapse/storage/databases/main/registration.py | 2866 | Attempt to validate a threepid session using a token Args: session_id: The id of a validation sessi | STRING |
| HIGH | synapse/storage/databases/main/e2e_room_keys.py | 490 | Get info metadata about a version of our room_keys backup. Args: user_id: the user whose backup we' | STRING |
| HIGH | synapse/storage/databases/main/events.py | 321 | Persist a set of events alongside updates to the current state and forward extremities tables. | STRING |
| HIGH | synapse/storage/databases/main/events.py | 2818 | Update any outliers with new event info. This turns outliers into ex-outliers (unless the new event was rejecte | STRING |
| HIGH | synapse/storage/databases/main/session.py | 64 | Creates a new pagination session for the room hierarchy endpoint. Args: session_type: The | STRING |
| HIGH | synapse/storage/databases/main/stream.py | 1902 | The stream token for an event Args: event_id: The id of the event to look up a stream token for. | STRING |
| HIGH | synapse/storage/databases/main/ui_auth.py | 61 | Creates a new user interactive authentication session. The session can be used to track the stages nec | STRING |
| HIGH | synapse/storage/databases/main/ui_auth.py | 117 | Retrieve a UI auth session. Args: session_id: The ID of the session. Returns: A | STRING |
| HIGH | synapse/storage/databases/main/devices.py | 321 | Ensure the given device is known; add it to the store if not Args: user_id: id of user associated w | STRING |
| HIGH | synapse/storage/databases/main/room.py | 1359 | Get updates to quarantined media in stream ordering since `from_id`. Paginating forwards: from_id < x | STRING |
| HIGH | synapse/storage/databases/main/state.py | 236 | Get the predecessor of an upgraded room if it exists. Otherwise return None. Args: room_id: | STRING |
| HIGH | synapse/storage/databases/main/state.py | 268 | Get the create state event for a room. Args: room_id: The room ID. Returns: Th | STRING |
| HIGH | synapse/storage/databases/main/delayed_events.py | 157 | Inserts a new delayed event in the DB. Args: user_localpart: The localpart of the requeste | STRING |
| HIGH | synapse/storage/databases/main/delayed_events.py | 264 | Restarts the send time of the matching delayed event, as long as it hasn't already been marked for proc | STRING |
| HIGH | synapse/storage/controllers/persist_events.py | 410 | Write events to the database Args: events_and_contexts: list of tuples of (event, context) | STRING |
| HIGH | synapse/storage/controllers/state.py | 112 | Get the event IDs of all the state for the state groups for the given events Args: _room_id: id of | STRING |
| HIGH | synapse/storage/controllers/state.py | 220 | Given a list of event_ids and type tuples, return a list of state dicts for each event. Args: | STRING |
| HIGH | synapse/storage/controllers/state.py | 275 | Get the room states after each of a list of events. For each event in `event_ids`, the result contains | STRING |
| HIGH | synapse/storage/controllers/state.py | 325 | Get the state dict corresponding to a particular event Args: event_id: event whose state s | STRING |
| HIGH | synapse/storage/controllers/state.py | 353 | Get the state dict corresponding to the state after a particular event Args: event_id: eve | STRING |
| HIGH | synapse/http/servlet.py | 105 | Parse an integer parameter from the request string Args: request: the twisted HTTP request. name: t | STRING |
| HIGH | synapse/http/servlet.py | 171 | Parse an integer parameter from the request string Args: args: A mapping of request args as bytes to a list | STRING |
| HIGH | synapse/http/servlet.py | 229 | Parse a boolean parameter from the request query string Args: request: the twisted HTTP request. na | STRING |
| HIGH | synapse/http/servlet.py | 281 | Parse a boolean parameter from the request query string Args: args: A mapping of request args as bytes to a | STRING |
| HIGH | synapse/http/servlet.py | 352 | Parse a string parameter as bytes from the request query string. Args: args: A mapping of request args | STRING |
| HIGH | synapse/http/servlet.py | 421 | Parse a string parameter from the request query string. If encoding is not None, the content of the query para | STRING |
| HIGH | synapse/http/servlet.py | 464 | Parse a JSON parameter from the request query string. Args: request: the twisted HTTP request. | STRING |
| HIGH | synapse/http/servlet.py | 567 | Parse an enum parameter from the request query string. Note that the enum *must only have string values*. | STRING |
| HIGH | synapse/http/servlet.py | 679 | Parse a string parameter from the request query string list. The content of the query param will be decoded to | STRING |
| 123 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts-dev/release.py | 900 | def update_branch(repo: git.Repo) -> None: | CODE |
| LOW | scripts-dev/mypy_synapse_plugin.py | 199 | def set_modules(self, modules: dict[str, MypyFile]) -> None: | CODE |
| LOW | tests/unittest.py | 108 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/server.py | 122 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | tests/test_notifier.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/test_visibility.py | 44 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/util/test_async_helpers.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/util/test_logcontext.py | 52 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/util/caches/test_descriptors.py | 51 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/storage/test_id_generators.py | 73 | def _setup_db(self, txn: LoggingTransaction) -> None: | CODE |
| LOW | tests/storage/test_state.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/storage/test_roommember.py | 44 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/storage/test_events.py | 38 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/storage/test_sliding_sync_tables.py | 52 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/storage/test_state_deletion.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/storage/test_stream.py | 56 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/push/test_http.py | 788 | def _set_pusher(self, user_id: str, access_token: str, enabled: bool) -> None: | CODE |
| LOW | tests/http/test_proxyagent.py | 51 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/http/server/_base.py | 56 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/http/federation/test_matrix_federation_agent.py | 67 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/synapse_rust/test_http_client.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/synapse_rust/test_logcontext.py | 52 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/federation/test_federation_server.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | …s/federation/test_federation_out_of_band_membership.py | 56 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/federation/_remote_join.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/federation/test_federation_join_upgraded_room.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/federation/test_federation_devices.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/replication/_base.py | 53 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/replication/test_module_cache_invalidation.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/replication/test_auth.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/replication/test_pusher_shard.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/replication/test_client_reader_shard.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/replication/test_multi_media_repo.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/replication/test_sharded_receipts.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/replication/test_federation_sender_shard.py | 49 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/replication/test_sharded_sticky_events.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/replication/test_sharded_sticky_events.py | 78 | def _setup_workers_and_rooms(self) -> None: | CODE |
| LOW | tests/replication/storage/test_events.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/replication/tcp/streams/test_typing.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/replication/tcp/streams/test_to_device.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/handlers/test_federation.py | 49 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/handlers/test_presence.py | 2599 | def _set_presence(self, user_id: str, state: str = "online") -> None: | CODE |
| LOW | tests/handlers/test_sliding_sync.py | 60 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/handlers/test_message.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/handlers/test_profile.py | 1361 | def _setup_local_files(self, names_and_props: dict[str, dict[str, Any]]) -> None: | CODE |
| LOW | tests/handlers/test_register.py | 847 | async def update_membership(*args: Any, **kwargs: Any) -> None: | CODE |
| LOW | tests/handlers/test_directory.py | 335 | def _set_canonical_alias(self, content: JsonDict) -> None: | CODE |
| LOW | tests/logging/test_opentracing.py | 62 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/rest/admin/test_user.py | 3136 | def set_user_type(self, user_type: str | None) -> None: | CODE |
| LOW | tests/rest/client/test_sync.py | 53 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/rest/client/test_login.py | 70 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/rest/client/test_third_party_rules.py | 553 | def _update_power_levels(self, event_default: int = 0) -> None: | CODE |
| LOW | tests/rest/client/test_profile.py | 895 | def _setup_local_files(self, names_and_props: dict[str, dict[str, Any]]) -> None: | CODE |
| LOW | tests/rest/client/test_rooms.py | 4266 | def _set_alias_via_directory(self, alias: str, expected_code: int = 200) -> None: | CODE |
| LOW | tests/rest/client/test_rooms.py | 4295 | def _set_alias_via_directory(self, alias: str, expected_code: int = 200) -> None: | CODE |
| LOW | tests/rest/client/test_versions.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | …s/rest/client/sliding_sync/test_connection_tracking.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | …s/rest/client/sliding_sync/test_extension_to_device.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/rest/client/sliding_sync/test_sliding_sync.py | 55 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/rest/client/sliding_sync/test_extensions.py | 30 | logger = logging.getLogger(__name__) | CODE |
| 468 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts-dev/federation_client.py | 382 | except Exception: | CODE |
| HIGH | tests/server.py | 1276 | except FileNotFoundError: | CODE |
| HIGH | tests/crypto/test_keyring.py | 142 | except SynapseError: | CODE |
| HIGH | tests/util/test_batching_queue.py | 46 | except KeyError: | CODE |
| HIGH | tests/util/test_retryutils.py | 78 | except AssertionError: | CODE |
| HIGH | tests/util/test_retryutils.py | 122 | except AssertionError: | CODE |
| HIGH | tests/util/test_retryutils.py | 198 | except AssertionError: | CODE |
| HIGH | tests/util/test_retryutils.py | 213 | except AssertionError: | CODE |
| HIGH | tests/util/test_retryutils.py | 294 | except AssertionError: | CODE |
| HIGH | tests/util/caches/test_descriptors.py | 370 | except SynapseError: | CODE |
| HIGH | tests/storage/test_database.py | 212 | except Exception: | CODE |
| HIGH | tests/storage/test_appservice.py | 87 | except Exception: | CODE |
| HIGH | tests/http/test_endpoint.py | 61 | except ValueError: | CODE |
| HIGH | tests/federation/transport/test_client.py | 154 | except ijson.common.IncompleteJSONError: | CODE |
| HIGH | tests/rest/client/test_third_party_rules.py | 141 | except Exception: | CODE |
| HIGH | tests/rest/client/test_profile.py | 991 | except AssertionError: | CODE |
| HIGH | tests/rest/client/test_directory.py | 245 | except AssertionError: | CODE |
| HIGH | contrib/cmdclient/console.py | 786 | except Exception: | CODE |
| HIGH | contrib/cmdclient/console.py | 592 | except Exception: | CODE |
| HIGH | contrib/cmdclient/console.py | 783 | except Exception: | CODE |
| HIGH | synapse/server.py | 252 | except AttributeError: | CODE |
| HIGH | synapse/server.py | 482 | except HomeServerNotSetupException: | CODE |
| HIGH | synapse/server.py | 504 | except HomeServerNotSetupException: | CODE |
| HIGH | synapse/server.py | 543 | except HomeServerNotSetupException: | CODE |
| HIGH | synapse/server.py | 422 | except KeyError: | CODE |
| HIGH | synapse/server.py | 511 | except Exception: | CODE |
| HIGH | synapse/server.py | 536 | except Exception: | CODE |
| HIGH | synapse/__init__.py | 67 | except ImportError: | CODE |
| HIGH | synapse/__init__.py | 91 | except ImportError: | CODE |
| HIGH | synapse/metrics/__init__.py | 590 | except (ValueError, TypeError, AttributeError): | CODE |
| HIGH | synapse/types/__init__.py | 943 | except Exception: | CODE |
| HIGH | synapse/util/async_helpers.py | 248 | except ValueError: | CODE |
| HIGH | synapse/util/async_helpers.py | 288 | except StopIteration: | CODE |
| HIGH | synapse/util/async_helpers.py | 1125 | except defer.TimeoutError: | CODE |
| HIGH | synapse/util/async_helpers.py | 1167 | except defer.TimeoutError: | CODE |
| HIGH | synapse/util/async_helpers.py | 1103 | except Exception: | CODE |
| HIGH | synapse/util/async_helpers.py | 135 | except defer.CancelledError: | CODE |
| HIGH | synapse/util/async_helpers.py | 163 | except defer.CancelledError: | CODE |
| HIGH | synapse/util/ratelimitutils.py | 416 | except KeyError: | CODE |
| HIGH | synapse/util/clock.py | 84 | except Exception: | CODE |
| HIGH | synapse/util/clock.py | 605 | except KeyError: | CODE |
| HIGH | synapse/util/manhole.py | 148 | except ValueError: | CODE |
| HIGH | synapse/util/frozenutils.py | 44 | except TypeError: | CODE |
| HIGH | synapse/util/frozenutils.py | 59 | except TypeError: | CODE |
| HIGH | synapse/util/caches/response_cache.py | 376 | except defer.CancelledError: | CODE |
| HIGH | synapse/util/caches/response_cache.py | 406 | except Exception: | CODE |
| HIGH | synapse/util/caches/response_cache.py | 480 | except Exception: | CODE |
| HIGH | synapse/config/logger.py | 266 | except Exception: | CODE |
| HIGH | synapse/_scripts/register_new_matrix_user.py | 72 | except Exception: | CODE |
| HIGH | synapse/_scripts/register_new_matrix_user.py | 114 | except Exception: | CODE |
| HIGH | synapse/_scripts/synapse_port_db.py | 814 | except Exception: | CODE |
| HIGH | synapse/_scripts/synapse_port_db.py | 1039 | except BadValueException: | CODE |
| HIGH | synapse/_scripts/synctl.py | 69 | except Exception: | CODE |
| HIGH | synapse/_scripts/synctl.py | 82 | except AttributeError: | CODE |
| HIGH | synapse/state/v1.py | 355 | except AuthError: | CODE |
| HIGH | synapse/state/v2.py | 878 | except AuthError: | CODE |
| HIGH | synapse/storage/prepare_database.py | 467 | except FileNotFoundError: | CODE |
| HIGH | synapse/storage/database.py | 520 | except Exception: | CODE |
| HIGH | synapse/storage/databases/main/tags.py | 322 | except self.database_engine.module.IntegrityError: | CODE |
| HIGH | synapse/storage/databases/main/sticky_events.py | 578 | except AuthError: | CODE |
| 39 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unittest.py | 103 | CODE | |
| LOW | tests/utils.py | 42 | CODE | |
| LOW | tests/metrics/test_metrics.py | 27 | CODE | |
| LOW | tests/util/caches/test_descriptors.py | 22 | CODE | |
| LOW | tests/appservice/test_scheduler.py | 21 | CODE | |
| LOW | tests/appservice/test_scheduler.py | 27 | CODE | |
| LOW | tests/appservice/test_scheduler.py | 29 | CODE | |
| LOW | tests/appservice/test_scheduler.py | 29 | CODE | |
| LOW | tests/appservice/test_scheduler.py | 29 | CODE | |
| LOW | tests/appservice/test_scheduler.py | 40 | CODE | |
| LOW | tests/appservice/test_scheduler.py | 43 | CODE | |
| LOW | tests/test_utils/__init__.py | 51 | CODE | |
| LOW | tests/test_utils/__init__.py | 53 | CODE | |
| LOW | tests/storage/test_database.py | 28 | CODE | |
| LOW | tests/http/test_proxyagent.py | 30 | CODE | |
| LOW | tests/http/__init__.py | 38 | CODE | |
| LOW | tests/http/test_matrixfederationclient.py | 28 | CODE | |
| LOW | tests/http/test_simple_client.py | 32 | CODE | |
| LOW | tests/http/test_client.py | 28 | CODE | |
| LOW | tests/events/test_utils.py | 47 | CODE | |
| LOW | tests/handlers/test_oidc.py | 44 | CODE | |
| LOW | tests/handlers/test_oidc.py | 45 | CODE | |
| LOW | tests/handlers/test_oidc.py | 46 | CODE | |
| LOW | tests/handlers/test_oidc.py | 48 | CODE | |
| LOW | tests/handlers/test_oidc.py | 48 | CODE | |
| LOW | tests/handlers/test_appservice.py | 66 | CODE | |
| LOW | tests/rest/admin/test_admin.py | 21 | CODE | |
| LOW | tests/rest/client/test_third_party_rules.py | 45 | CODE | |
| LOW | tests/rest/client/test_transactions.py | 23 | CODE | |
| LOW | synapse/server.py | 195 | CODE | |
| LOW | synapse/server.py | 196 | CODE | |
| LOW | synapse/server.py | 201 | CODE | |
| LOW | synapse/event_auth.py | 81 | CODE | |
| LOW | synapse/notifier.py | 70 | CODE | |
| LOW | synapse/metrics/background_process_metrics.py | 61 | CODE | |
| LOW | synapse/metrics/background_process_metrics.py | 63 | CODE | |
| LOW | synapse/metrics/common_usage_metrics.py | 29 | CODE | |
| LOW | synapse/metrics/__init__.py | 62 | CODE | |
| LOW | synapse/metrics/__init__.py | 63 | CODE | |
| LOW | synapse/metrics/__init__.py | 63 | CODE | |
| LOW | synapse/crypto/keyring.py | 59 | CODE | |
| LOW | synapse/types/__init__.py | 79 | CODE | |
| LOW | synapse/types/__init__.py | 80 | CODE | |
| LOW | synapse/types/__init__.py | 81 | CODE | |
| LOW | synapse/types/__init__.py | 81 | CODE | |
| LOW | synapse/types/__init__.py | 82 | CODE | |
| LOW | synapse/types/handlers/sliding_sync.py | 56 | CODE | |
| LOW | synapse/types/rest/client/__init__.py | 51 | CODE | |
| LOW | synapse/app/_base.py | 55 | CODE | |
| LOW | synapse/app/_base.py | 94 | CODE | |
| LOW | synapse/app/phone_stats_home.py | 29 | CODE | |
| LOW | synapse/app/phone_stats_home.py | 36 | CODE | |
| LOW | synapse/util/async_helpers.py | 30 | CODE | |
| LOW | synapse/util/logcontext.py | 26 | CODE | |
| LOW | synapse/util/logcontext.py | 26 | CODE | |
| LOW | synapse/util/logcontext.py | 26 | CODE | |
| LOW | synapse/util/logcontext.py | 26 | CODE | |
| LOW | synapse/util/logcontext.py | 26 | CODE | |
| LOW | synapse/util/logcontext.py | 26 | CODE | |
| LOW | synapse/util/logcontext.py | 26 | CODE | |
| 458 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_server.py | 0 | test that handlers with the `@cancellable` flag can be cancelled. | STRING |
| HIGH | tests/http/test_servlet.py | 0 | test that handlers with the `@cancellable` flag can be cancelled. | STRING |
| HIGH | tests/federation/transport/server/test__base.py | 0 | test that handlers with the `@cancellable` flag can be cancelled. | STRING |
| HIGH | tests/replication/http/test__base.py | 0 | test that handlers with the `@cancellable` flag can be cancelled. | STRING |
| HIGH | tests/test_server.py | 0 | test that handlers without the `@cancellable` flag cannot be cancelled. | STRING |
| HIGH | tests/http/test_servlet.py | 0 | test that handlers without the `@cancellable` flag cannot be cancelled. | STRING |
| HIGH | tests/federation/transport/server/test__base.py | 0 | test that handlers without the `@cancellable` flag cannot be cancelled. | STRING |
| HIGH | tests/replication/http/test__base.py | 0 | test that handlers without the `@cancellable` flag cannot be cancelled. | STRING |
| HIGH | tests/http/test_proxyagent.py | 0 | request.finish expects the factory to have a 'log' method. | STRING |
| HIGH | tests/http/federation/test_matrix_federation_agent.py | 0 | request.finish expects the factory to have a 'log' method. | STRING |
| HIGH | tests/replication/test_multi_media_repo.py | 0 | request.finish expects the factory to have a 'log' method. | STRING |
| HIGH | tests/federation/transport/server/test__base.py | 0 | overrides `homeservertestcase.create_test_resource`. | STRING |
| HIGH | tests/replication/_base.py | 0 | overrides `homeservertestcase.create_test_resource`. | STRING |
| HIGH | tests/replication/http/test__base.py | 0 | overrides `homeservertestcase.create_test_resource`. | STRING |
| HIGH | tests/rest/admin/test_statistics.py | 0 | if the user is not a server admin, an error is returned. | STRING |
| HIGH | tests/rest/admin/test_federation.py | 0 | if the user is not a server admin, an error is returned. | STRING |
| HIGH | tests/rest/admin/test_background_updates.py | 0 | if the user is not a server admin, an error is returned. | STRING |
| HIGH | tests/rest/admin/test_event_reports.py | 0 | if the user is not a server admin, an error is returned. | STRING |
| HIGH | tests/rest/admin/test_event.py | 0 | if the user is not a server admin, an error is returned. | STRING |
| HIGH | tests/rest/admin/test_room.py | 0 | if the user is not a server admin, an error is returned. | STRING |
| HIGH | tests/rest/admin/test_user_reports.py | 0 | if the user is not a server admin, an error is returned. | STRING |
| HIGH | tests/rest/admin/test_scheduled_tasks.py | 0 | if the user is not a server admin, an error is returned. | STRING |
| HIGH | tests/rest/admin/test_server_notice.py | 0 | if the user is not a server admin, an error is returned. | STRING |
| HIGH | tests/rest/admin/test_user.py | 0 | if the user is not a server admin, an error is returned. | STRING |
| HIGH | tests/rest/admin/test_media.py | 0 | if the user is not a server admin, an error is returned. | STRING |
| HIGH | tests/rest/admin/test_device.py | 0 | if the user is not a server admin, an error is returned. | STRING |
| HIGH | tests/rest/admin/test_statistics.py | 0 | testing that `next_token` appears at the right place | STRING |
| HIGH | tests/rest/admin/test_user.py | 0 | testing that `next_token` appears at the right place | STRING |
| HIGH | tests/rest/admin/test_federation.py | 0 | testing that `next_token` appears at the right place | STRING |
| HIGH | tests/rest/admin/test_event_reports.py | 0 | testing that `next_token` appears at the right place | STRING |
| HIGH | tests/rest/admin/test_user_reports.py | 0 | testing that `next_token` appears at the right place | STRING |
| HIGH | tests/rest/admin/test_statistics.py | 0 | request the list of destinations in a certain order. assert that order is what we expect args: expected_destination_list | STRING |
| HIGH | tests/rest/admin/test_user.py | 0 | request the list of destinations in a certain order. assert that order is what we expect args: expected_destination_list | STRING |
| HIGH | tests/rest/admin/test_federation.py | 0 | request the list of destinations in a certain order. assert that order is what we expect args: expected_destination_list | STRING |
| HIGH | tests/rest/admin/test_server_notice.py | 0 | tests that a lookup for a user that does not exist returns a 404 | STRING |
| HIGH | tests/rest/admin/test_user.py | 0 | tests that a lookup for a user that does not exist returns a 404 | STRING |
| HIGH | tests/rest/admin/test_room.py | 0 | tests that a lookup for a user that does not exist returns a 404 | STRING |
| HIGH | tests/rest/admin/test_device.py | 0 | tests that a lookup for a user that does not exist returns a 404 | STRING |
| HIGH | tests/rest/admin/test_server_notice.py | 0 | tests that a lookup for a user that is not a local returns a 400 | STRING |
| HIGH | tests/rest/admin/test_user.py | 0 | tests that a lookup for a user that is not a local returns a 400 | STRING |
| HIGH | tests/rest/admin/test_device.py | 0 | tests that a lookup for a user that is not a local returns a 400 | STRING |
| HIGH | tests/rest/client/test_auth.py | 0 | a null `auth` value is treated as if it was omitted. | STRING |
| HIGH | tests/rest/client/test_register.py | 0 | a null `auth` value is treated as if it was omitted. | STRING |
| HIGH | tests/rest/client/test_login_token_request.py | 0 | a null `auth` value is treated as if it was omitted. | STRING |
| HIGH | …s/rest/client/sliding_sync/test_extension_to_device.py | 0 | test to make sure that the sliding sync request waits for new data to arrive. (only applies to incremental syncs with a | STRING |
| HIGH | tests/rest/client/sliding_sync/test_sliding_sync.py | 0 | test to make sure that the sliding sync request waits for new data to arrive. (only applies to incremental syncs with a | STRING |
| HIGH | tests/rest/client/sliding_sync/test_extension_typing.py | 0 | test to make sure that the sliding sync request waits for new data to arrive. (only applies to incremental syncs with a | STRING |
| HIGH | …ts/rest/client/sliding_sync/test_extension_receipts.py | 0 | test to make sure that the sliding sync request waits for new data to arrive. (only applies to incremental syncs with a | STRING |
| HIGH | …est/client/sliding_sync/test_extension_account_data.py | 0 | test to make sure that the sliding sync request waits for new data to arrive. (only applies to incremental syncs with a | STRING |
| HIGH | tests/rest/client/sliding_sync/test_extension_e2ee.py | 0 | test to make sure that the sliding sync request waits for new data to arrive. (only applies to incremental syncs with a | STRING |
| HIGH | …s/rest/client/sliding_sync/test_extension_to_device.py | 0 | test to make sure that the sliding sync request waits for new data to arrive but no data ever arrives so we timeout. we' | STRING |
| HIGH | tests/rest/client/sliding_sync/test_sliding_sync.py | 0 | test to make sure that the sliding sync request waits for new data to arrive but no data ever arrives so we timeout. we' | STRING |
| HIGH | tests/rest/client/sliding_sync/test_extension_typing.py | 0 | test to make sure that the sliding sync request waits for new data to arrive but no data ever arrives so we timeout. we' | STRING |
| HIGH | …ts/rest/client/sliding_sync/test_extension_receipts.py | 0 | test to make sure that the sliding sync request waits for new data to arrive but no data ever arrives so we timeout. we' | STRING |
| HIGH | …est/client/sliding_sync/test_extension_account_data.py | 0 | test to make sure that the sliding sync request waits for new data to arrive but no data ever arrives so we timeout. we' | STRING |
| HIGH | tests/rest/client/sliding_sync/test_extension_e2ee.py | 0 | test to make sure that the sliding sync request waits for new data to arrive but no data ever arrives so we timeout. we' | STRING |
| HIGH | tests/rest/client/sliding_sync/test_extension_typing.py | 0 | test that enabling the account_data extension works during an intitial sync, even if there is no-data. | STRING |
| HIGH | …ts/rest/client/sliding_sync/test_extension_receipts.py | 0 | test that enabling the account_data extension works during an intitial sync, even if there is no-data. | STRING |
| HIGH | …est/client/sliding_sync/test_extension_account_data.py | 0 | test that enabling the account_data extension works during an intitial sync, even if there is no-data. | STRING |
| HIGH | tests/rest/client/sliding_sync/test_extension_typing.py | 0 | test that enabling account_data extension works during an incremental sync, even if there is no-data. | STRING |
| 35 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts-dev/federation_client.py | 382 | except Exception: | CODE |
| LOW | scripts-dev/federation_client.py | 392 | except Exception: | CODE |
| LOW | scripts-dev/federation_client.py | 422 | except Exception as e: | CODE |
| LOW | scripts-dev/dump_macaroon.py | 24 | except Exception as e: | CODE |
| LOW | scripts-dev/build_debian_packages.py | 69 | except Exception as e: | CODE |
| LOW | .ci/scripts/check_lockfile.py | 15 | except Exception: | CODE |
| LOW | tests/server.py | 845 | except Exception as exc: | CODE |
| LOW | tests/server.py | 1116 | except Exception as e: | CODE |
| LOW | tests/util/test_async_helpers.py | 116 | except Exception as e: | CODE |
| LOW | tests/util/caches/test_cached_call.py | 124 | except Exception as e1: | CODE |
| MEDIUM | tests/util/caches/test_cached_call.py | 121 | def r() -> None: | CODE |
| LOW | tests/storage/test_database.py | 212 | except Exception: | CODE |
| LOW | tests/storage/test_appservice.py | 87 | except Exception: | CODE |
| LOW | tests/http/federation/test_matrix_federation_agent.py | 216 | except Exception as e: | CODE |
| LOW | tests/rest/client/test_third_party_rules.py | 141 | except Exception: | CODE |
| LOW | tests/rest/client/test_transactions.py | 138 | except Exception as e: | CODE |
| LOW | tests/rest/client/test_transactions.py | 170 | except Exception as e: | CODE |
| LOW | docs/development/synapse_architecture/cancellation.md | 120 | except Exception: | CODE |
| LOW | docs/development/synapse_architecture/cancellation.md | 133 | except Exception: | CODE |
| LOW | docs/development/synapse_architecture/cancellation.md | 146 | except Exception: | CODE |
| LOW | docs/development/synapse_architecture/cancellation.md | 187 | except Exception: | CODE |
| LOW | docs/development/synapse_architecture/cancellation.md | 206 | except Exception: | CODE |
| LOW | contrib/graph/graph.py | 64 | except Exception: | CODE |
| LOW | contrib/graph/graph2.py | 121 | except Exception: | CODE |
| LOW | contrib/graph/graph3.py | 124 | except Exception: | CODE |
| MEDIUM | contrib/cmdclient/console.py | 361 | def do_joinalias(self, line): | CODE |
| LOW⚡ | contrib/cmdclient/console.py | 783 | except Exception: | CODE |
| LOW⚡ | contrib/cmdclient/console.py | 786 | except Exception: | CODE |
| LOW | contrib/cmdclient/console.py | 144 | except Exception as e: | CODE |
| LOW | contrib/cmdclient/console.py | 219 | except Exception as e: | CODE |
| LOW | contrib/cmdclient/console.py | 358 | except Exception as e: | CODE |
| LOW | contrib/cmdclient/console.py | 366 | except Exception as e: | CODE |
| LOW | contrib/cmdclient/console.py | 393 | except Exception as e: | CODE |
| LOW | contrib/cmdclient/console.py | 404 | except Exception as e: | CODE |
| LOW | contrib/cmdclient/console.py | 476 | except Exception as e: | CODE |
| LOW | contrib/cmdclient/console.py | 515 | except Exception: | CODE |
| LOW | contrib/cmdclient/console.py | 578 | except Exception as e: | CODE |
| LOW | contrib/cmdclient/console.py | 592 | except Exception: | CODE |
| LOW | contrib/cmdclient/http.py | 164 | except Exception as e: | CODE |
| LOW⚡ | synapse/server.py | 511 | except Exception: | CODE |
| LOW⚡ | synapse/server.py | 518 | except Exception as e: | CODE |
| LOW⚡ | synapse/server.py | 526 | except Exception as e: | CODE |
| LOW⚡ | synapse/server.py | 536 | except Exception: | CODE |
| LOW | synapse/event_auth.py | 974 | except Exception: | CODE |
| LOW | synapse/event_auth.py | 979 | except Exception: | CODE |
| LOW | synapse/notifier.py | 400 | except Exception: | CODE |
| LOW | synapse/notifier.py | 515 | except Exception: | CODE |
| LOW | synapse/notifier.py | 521 | except Exception: | CODE |
| LOW | synapse/notifier.py | 623 | except Exception: | CODE |
| LOW | synapse/notifier.py | 649 | except Exception: | CODE |
| LOW | synapse/__init__.py | 79 | except Exception: | CODE |
| LOW | synapse/metrics/background_process_metrics.py | 380 | except Exception: | CODE |
| LOW | synapse/metrics/_reactor_metrics.py | 174 | except Exception as e: | CODE |
| LOW | synapse/metrics/jemalloc.py | 123 | except Exception as e: | CODE |
| LOW | synapse/metrics/jemalloc.py | 225 | except Exception as e: | CODE |
| LOW | synapse/metrics/jemalloc.py | 245 | except Exception as e: | CODE |
| LOW | synapse/metrics/__init__.py | 185 | except Exception: | CODE |
| LOW | synapse/crypto/event_signing.py | 76 | except Exception: | CODE |
| LOW | synapse/crypto/keyring.py | 738 | except Exception as e: | CODE |
| LOW | synapse/crypto/keyring.py | 956 | except Exception: | CODE |
| 318 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts-dev/mypy_synapse_plugin.py | 604 | CODE | |
| LOW | scripts-dev/mypy_synapse_plugin.py | 798 | CODE | |
| LOW | scripts-dev/sign_json.py | 153 | CODE | |
| LOW | scripts-dev/check_schema_delta.py | 166 | CODE | |
| LOW | scripts-dev/federation_client.py | 254 | CODE | |
| LOW | scripts-dev/schema_versions.py | 60 | CODE | |
| LOW | docker/start.py | 68 | CODE | |
| LOW | docker/configure_workers_and_start.py | 555 | CODE | |
| LOW | docker/configure_workers_and_start.py | 733 | CODE | |
| LOW | tests/unittest.py | 1261 | CODE | |
| LOW | tests/test_utils/oidc.py | 295 | CODE | |
| LOW | tests/test_utils/html_parsers.py | 41 | CODE | |
| LOW | tests/storage/test_event_federation.py | 140 | CODE | |
| LOW | tests/storage/test_event_federation.py | 1794 | CODE | |
| LOW | tests/http/server/_base.py | 141 | CODE | |
| LOW | tests/module_api/test_api.py | 388 | CODE | |
| LOW | tests/synapse_rust/test_logcontext.py | 113 | CODE | |
| LOW | …s/federation/test_federation_out_of_band_membership.py | 174 | CODE | |
| LOW | …s/federation/test_federation_out_of_band_membership.py | 471 | CODE | |
| LOW | tests/replication/_base.py | 634 | CODE | |
| LOW | tests/events/test_validator.py | 54 | CODE | |
| LOW | tests/handlers/test_sliding_sync.py | 3669 | CODE | |
| LOW | tests/handlers/test_e2e_keys.py | 209 | CODE | |
| LOW | tests/rest/admin/test_user.py | 5312 | CODE | |
| LOW | tests/rest/admin/test_user.py | 5419 | CODE | |
| LOW | tests/rest/admin/test_user.py | 5538 | CODE | |
| LOW | tests/rest/admin/test_room.py | 208 | CODE | |
| LOW | tests/rest/admin/test_room.py | 274 | CODE | |
| LOW | tests/rest/client/test_rooms.py | 5081 | CODE | |
| LOW | tests/rest/client/sliding_sync/test_sliding_sync.py | 193 | CODE | |
| LOW | tests/rest/client/sliding_sync/test_extensions.py | 70 | CODE | |
| LOW | …/rest/client/sliding_sync/test_rooms_required_state.py | 525 | CODE | |
| LOW | contrib/graph/graph3.py | 34 | CODE | |
| LOW | contrib/cmdclient/console.py | 202 | CODE | |
| LOW | contrib/cmdclient/console.py | 408 | CODE | |
| LOW | synapse/event_auth.py | 574 | CODE | |
| LOW | synapse/event_auth.py | 879 | CODE | |
| LOW | synapse/event_auth.py | 964 | CODE | |
| LOW | synapse/event_auth.py | 1171 | CODE | |
| LOW | synapse/notifier.py | 561 | CODE | |
| LOW | synapse/notifier.py | 657 | CODE | |
| LOW | synapse/metrics/background_process_metrics.py | 221 | CODE | |
| LOW | synapse/metrics/background_process_metrics.py | 270 | CODE | |
| LOW | synapse/metrics/_reactor_metrics.py | 128 | CODE | |
| LOW | synapse/crypto/keyring.py | 762 | CODE | |
| LOW | synapse/types/__init__.py | 894 | CODE | |
| LOW | synapse/types/__init__.py | 981 | CODE | |
| LOW | synapse/types/__init__.py | 1163 | CODE | |
| LOW | synapse/types/__init__.py | 1416 | CODE | |
| LOW | synapse/types/__init__.py | 1503 | CODE | |
| LOW | synapse/types/handlers/sliding_sync.py | 548 | CODE | |
| LOW | synapse/types/handlers/sliding_sync.py | 617 | CODE | |
| LOW | synapse/types/handlers/sliding_sync.py | 701 | CODE | |
| LOW | synapse/app/generic_worker.py | 182 | CODE | |
| LOW | synapse/app/generic_worker.py | 277 | CODE | |
| LOW | synapse/app/homeserver.py | 270 | CODE | |
| LOW | synapse/util/retryutils.py | 231 | CODE | |
| LOW | synapse/util/background_queue.py | 95 | CODE | |
| LOW | synapse/util/iterutils.py | 103 | CODE | |
| LOW | synapse/util/iterutils.py | 142 | CODE | |
| 287 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts-dev/release.py | 961 | # Check if heading version matches the requested version, or if its an | COMMENT |
| LOW | scripts-dev/docker_update_debian_changelog.sh | 33 | # Check if a version was provided. | COMMENT |
| LOW | scripts-dev/docker_update_debian_changelog.sh | 46 | # Check if devscripts is available in the default repos for this distro. | COMMENT |
| LOW | scripts-dev/mypy_synapse_plugin.py | 557 | # Check if the `labelnames` argument includes `SERVER_NAME_LABEL` | COMMENT |
| LOW | scripts-dev/mypy_synapse_plugin.py | 574 | # Check if the `labelnames` argument includes the `server_name` label (`SERVER_NAME_LABEL`). | COMMENT |
| LOW | scripts-dev/config-lint.sh | 14 | # Check if anything changed | COMMENT |
| LOW | scripts-dev/schema_versions.py | 181 | # Print the result back out to stdout. | COMMENT |
| LOW | docker/configure_workers_and_start.py | 1172 | # Write the file | STRING |
| LOW | docker/complement/conf/start_for_complement.sh | 35 | # Set START_POSTGRES to false unless it has already been set | COMMENT |
| LOW | .ci/scripts/schema_diff.py | 165 | # Check if working tree is dirty before potentially stashing | COMMENT |
| LOW | tests/server.py | 1288 | # Check if we have set up a DB that we can use as a template. | COMMENT |
| LOW | tests/config/test_workers.py | 100 | # Set notify_appservices to false for the initialiser's config, | COMMENT |
| LOW | tests/config/test_workers.py | 212 | # Set notify_appservices to false for the initialiser's config, | COMMENT |
| LOW | tests/push/test_presentable_names.py | 106 | # Check if the event content has garbage. | COMMENT |
| LOW | tests/push/test_presentable_names.py | 120 | # Check if the event content has garbage. | COMMENT |
| LOW | tests/push/test_presentable_names.py | 140 | # Check if the event content has garbage. | COMMENT |
| LOW | tests/push/test_presentable_names.py | 175 | # Check if the event content has no displayname. | COMMENT |
| LOW | tests/push/test_presentable_names.py | 212 | # Check if the event content has no displayname and is an invite. | COMMENT |
| LOW | tests/events/test_validator.py | 87 | # Check if this room version enforces strict canonical json. | COMMENT |
| LOW | tests/handlers/test_presence.py | 1920 | # Set presence to BUSY | COMMENT |
| LOW | tests/handlers/test_saml.py | 37 | # Check if we have the dependencies to run the tests. | COMMENT |
| LOW | tests/handlers/test_profile.py | 140 | # Set displayname to an empty string | COMMENT |
| LOW | tests/handlers/test_profile.py | 1073 | # Set avatar to an empty string | COMMENT |
| LOW | tests/handlers/test_appservice.py | 1202 | # Check if our application service - that is interested in exclusive_as_user - received | COMMENT |
| LOW | tests/handlers/test_appservice.py | 1424 | # Check if our application service - that is interested in exclusive_as_user - received | COMMENT |
| LOW | tests/rest/client/test_retention.py | 374 | # Check if the event has been purged from the database. | COMMENT |
| LOW | synapse/event_auth.py | 590 | # Check if this is the room creator joining: | COMMENT |
| LOW | synapse/event_auth.py | 1102 | # Check if the old and new levels are greater than the user level | COMMENT |
| LOW | synapse/notifier.py | 905 | # Check if we are caught up to the stream token, if so return early. | COMMENT |
| LOW | synapse/visibility.py | 472 | # Check if the room has lax history visibility, allowing us to skip | COMMENT |
| LOW | synapse/metrics/background_process_metrics.py | 552 | # Set proc to None to break the reference cycle. | COMMENT |
| LOW | synapse/metrics/_gc.py | 115 | # Check if we need to do a manual GC (since its been disabled), and do | COMMENT |
| LOW | synapse/crypto/keyring.py | 530 | # Check if this key's expiry timestamp is valid for the verify request. | COMMENT |
| LOW | synapse/crypto/context_factory.py | 114 | # Check if we're using a custom list of a CA certificates | COMMENT |
| LOW | synapse/crypto/context_factory.py | 150 | # Check if certificate verification has been enabled | COMMENT |
| LOW | synapse/crypto/context_factory.py | 153 | # Check if we've disabled certificate verification for this host | COMMENT |
| LOW | synapse/util/daemonize.py | 130 | # Set umask to default to safe file permissions when running as a root daemon. 027 | COMMENT |
| LOW | synapse/util/check_dependencies.py | 309 | # Check if the requirement is installed and correctly versioned. | COMMENT |
| LOW | synapse/util/__init__.py | 237 | # Check if the whole dict fits within the size limit. If it does, we can | COMMENT |
| LOW | synapse/util/caches/deferred_cache.py | 229 | # Check if its in the main cache. | COMMENT |
| LOW | synapse/util/caches/deferred_cache.py | 239 | # Check if its in the pending cache | COMMENT |
| LOW | synapse/config/server.py | 608 | # Check if the legacy "restrict_public_rooms_to_local_users" flag is set. This | COMMENT |
| LOW | synapse/config/workers.py | 307 | # Check if the main process is declared. The main process itself doesn't need | COMMENT |
| LOW | synapse/appservice/__init__.py | 320 | # Check if we have interest in this room ID | COMMENT |
| LOW | synapse/appservice/__init__.py | 357 | # Check if we're interested in this event's sender by namespace (or if they're the | COMMENT |
| LOW | synapse/appservice/api.py | 493 | # Check if the appservice fulfilled all of the queried user/device/algorithms | COMMENT |
| LOW | synapse/_scripts/synapse_port_db.py | 767 | # Check if all background updates are done, abort if not. | STRING |
| LOW | synapse/state/v1.py | 168 | # Check if there is an unconflicted entry for the state key. | COMMENT |
| LOW | synapse/storage/_base.py | 200 | # Check if an externally defined module cache has been registered | COMMENT |
| LOW | synapse/storage/prepare_database.py | 638 | # Check if this line contains an end to the comment | COMMENT |
| LOW | synapse/storage/databases/state/deletion.py | 502 | # Check if the sequence number has changed, if it has then it | STRING |
| LOW⚡ | synapse/storage/databases/main/registration.py | 1661 | # Check if the token exists | STRING |
| LOW⚡ | synapse/storage/databases/main/registration.py | 1667 | # Check if the token has expired | STRING |
| LOW⚡ | synapse/storage/databases/main/registration.py | 1672 | # Check if the token has been used up | STRING |
| LOW | synapse/storage/databases/main/registration.py | 1850 | # Check if the token already exists | STRING |
| LOW | synapse/storage/databases/main/events_bg_updates.py | 1866 | # Check if the current state has been updated since we gathered it. | STRING |
| LOW | synapse/storage/databases/main/events.py | 4270 | # Check if the new link is redundant | COMMENT |
| LOW | synapse/storage/databases/main/events.py | 2186 | # Check if any of the remote membership changes requires us to | STRING |
| LOW | synapse/storage/databases/main/events.py | 2610 | # Check if the event is a backfilled event (with a negative `stream_ordering`). | STRING |
| LOW | synapse/storage/databases/main/events_worker.py | 2370 | # Check if this is a duplicate of an event in the given events. | STRING |
| 90 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tests/replication/test_sharded_event_persister.py | 144 | self.hs.config.worker.events_shard_config.get_instance(room_id1), "worker1" | CODE |
| CRITICAL | tests/replication/test_sharded_event_persister.py | 147 | self.hs.config.worker.events_shard_config.get_instance(room_id2), "worker2" | CODE |
| CRITICAL | tests/replication/test_sharded_sticky_events.py | 96 | self.hs.config.worker.events_shard_config.get_instance(self.room_id1), | CODE |
| CRITICAL | tests/replication/test_sharded_sticky_events.py | 100 | self.hs.config.worker.events_shard_config.get_instance(self.room_id2), | CODE |
| CRITICAL | tests/handlers/test_appservice.py | 459 | self.event_source.sources.receipt.get_new_events_as.assert_not_called() | CODE |
| CRITICAL | tests/rest/client/test_register.py | 1123 | expected_html = self.hs.config.account_validity.account_validity_account_renewed_template.render( | CODE |
| CRITICAL | tests/rest/client/test_register.py | 1141 | expected_html = self.hs.config.account_validity.account_validity_account_previously_renewed_template.render( | CODE |
| CRITICAL | tests/rest/client/test_register.py | 1168 | expected_html = self.hs.config.account_validity.account_validity_invalid_token_template.render() | CODE |
| CRITICAL | synapse/storage/controllers/purge_events.py | 57 | self.stores.state.db_pool.updates.register_background_update_handler( | CODE |
| CRITICAL | synapse/storage/controllers/purge_events.py | 249 | await self.stores.state.db_pool.updates._end_background_update( | CODE |
| CRITICAL⚡ | synapse/storage/controllers/purge_events.py | 268 | await self.stores.state.db_pool.updates._background_update_progress( | CODE |
| CRITICAL⚡ | synapse/storage/controllers/purge_events.py | 274 | await self.stores.state.db_pool.updates._end_background_update( | CODE |
| CRITICAL | synapse/static/client/login/js/jquery-3.4.1.min.js | 2 | !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):f | CODE |
| CRITICAL | synapse/handlers/auth.py | 1684 | ) + self.hs.config.auth.password_pepper.encode("utf8") | CODE |
| CRITICAL | synapse/handlers/room.py | 1395 | self.hs.config.worker.events_shard_config.get_instance(room_id), | CODE |
| CRITICAL | synapse/handlers/room.py | 2487 | self.hs.config.worker.events_shard_config.get_instance(new_room_id), | CODE |
| CRITICAL | synapse/handlers/room.py | 2519 | self.hs.config.worker.events_shard_config.get_instance(room_id), | CODE |
| CRITICAL | synapse/rest/admin/users.py | 671 | key=self.hs.config.registration.registration_shared_secret.encode(), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | scripts-dev/release.py | 245 | sytest_repo.git.push("-u", sytest_repo.remote().name, release_branch_name) | CODE |
| HIGH⚡ | scripts-dev/release.py | 249 | complement_repo.git.push( | CODE |
| HIGH | scripts-dev/release.py | 327 | synapse_repo.git.push( | CODE |
| HIGH | scripts-dev/release.py | 389 | repo.git.push(repo.remote().name, "tag", tag_name) | CODE |
| HIGH⚡ | tests/test_types.py | 246 | Tests that `Absent` rejects `None` (JSON null) when used in Pydantic models. | STRING |
| HIGH⚡ | tests/test_types.py | 256 | MyModel.model_validate_json('{"absent": null}') | CODE |
| HIGH | tests/federation/test_complexity.py | 106 | # Check whether an admin can join if option "admins_can_join" is undefined, | COMMENT |
| HIGH | tests/replication/tcp/test_commands.py | 37 | line = 'RDATA events master 6287863 ["ev", ["$eventid", "!roomid", "type", null, null, null]]' | CODE |
| HIGH | …ts/rest/client/sliding_sync/test_extension_profiles.py | 599 | null, for a user that left their last shared room and then rejoined it | STRING |
| HIGH | tests/rest/client/sliding_sync/test_rooms_meta.py | 656 | # > If a room has an m.room.name event with an absent, null, or | COMMENT |
| HIGH | synapse/metrics/jemalloc.py | 98 | # (if not null), and newp/newlen is the buffer with the new value to set | COMMENT |
| HIGH | synapse/metrics/jemalloc.py | 99 | # (if not null). Note that they're all references *except* newlen. | COMMENT |
| HIGH | synapse/util/daemonize.py | 115 | # now that we have redirected stderr to /dev/null, any uncaught exceptions will | COMMENT |
| HIGH | synapse/util/daemonize.py | 116 | # get sent to /dev/null, so make sure we log them. | COMMENT |
| HIGH | synapse/config/appservice.py | 136 | # 'url' must either be a string or explicitly null, not missing | COMMENT |
| HIGH | synapse/config/logger.py | 262 | # be redirected to /dev/null, but there's not much we can do) | STRING |
| HIGH | synapse/_scripts/synapse_port_db.py | 466 | # We need to make sure there is a single row, `(X, null), as that is | STRING |
| HIGH | synapse/storage/databases/state/deletion.py | 477 | SELECT state_group, null, null FROM state_groups_persisting | CODE |
| HIGH | synapse/storage/databases/main/events_bg_updates.py | 743 | # We don't want to leave it null, as then we'll never try and | STRING |
| HIGH | synapse/storage/databases/main/events.py | 1906 | SELECT ?, ?, room_id, type, state_key, null, event_id | CODE |
| HIGH | synapse/storage/databases/main/keys.py | 184 | # Old keys may be stored with a ts_valid_until_ms of null, | STRING |
| HIGH | synapse/storage/schema/main/delta/42/user_dir.py | 38 | INSERT INTO user_directory_stream_pos (stream_id) VALUES (null); | CODE |
| HIGH | synapse/replication/tcp/streams/events.py | 43 | RDATA events 12345 ["ev", ["$event:id", "!room:id", "m.type", null, null]] | STRING |
| HIGH | synapse/handlers/sliding_sync/__init__.py | 938 | # If a room has an m.room.name event with an absent, null, or empty | COMMENT |
| HIGH | synapse/rest/admin/registration_tokens.py | 63 | "uses_allowed": null, | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts-dev/mypy_synapse_plugin.py | 248 | # callback, let's just pass it in while we have it. | COMMENT |
| LOW | docker/configure_workers_and_start.py | 571 | # It doesn't exist yet, just use the new dict(but take a copy not a reference) | STRING |
| LOW | docker/configure_workers_and_start.py | 694 | # start.py already does this for us, so just call that. | STRING |
| MEDIUM | tests/app/test_homeserver_shutdown.py | 291 | # To help debug this test when it fails, it is useful to leverage the | COMMENT |
| LOW | tests/storage/databases/main/test_events_worker.py | 524 | # Don't bother with the types here, we just pass into the original function. | COMMENT |
| LOW | tests/federation/test_federation_sender.py | 497 | # We can't just use `self.fail(...)` here because the app code is greedy | COMMENT |
| LOW | tests/api/test_auth.py | 300 | # This also needs to just return a truth-y value | COMMENT |
| LOW | tests/api/test_auth.py | 335 | # This also needs to just return a falsey value | COMMENT |
| LOW | tests/handlers/test_oidc.py | 1249 | # in this case we'll just use the same username. A more realistic example | COMMENT |
| LOW | tests/handlers/test_presence.py | 2250 | # We don't actually check signatures in tests, so lets just create a | COMMENT |
| MEDIUM | tests/rest/client/test_sync_sticky_events.py | 40 | """Sync token to pass to `?since=` in order to do an incremental sync.""" | STRING |
| LOW⚡ | contrib/cmdclient/console.py | 791 | # If using another HTTP client, just call syn_cmd.cmdloop() | COMMENT |
| LOW | .github/workflows/release-artifacts.yml | 36 | # if we're running from a tag, get the full list of distros; otherwise just use debian:sid | COMMENT |
| MEDIUM | synapse/visibility.py | 452 | # Essentially, this alters `invited`/`joined` history visibility rules to `shared` for sticky events. | COMMENT |
| LOW | synapse/metrics/background_process_metrics.py | 303 | # used (so we just use `Any` for the type). Ideally, we'd be able to | COMMENT |
| LOW | synapse/metrics/__init__.py | 460 | # `buckets` at the same time (artificial limitation), we will just set these | COMMENT |
| LOW | synapse/types/state.py | 221 | # If there are no non-member wild cards we can just return ourselves | COMMENT |
| LOW | synapse/types/handlers/sliding_sync.py | 605 | # Otherwise, just add it to the set | COMMENT |
| LOW | synapse/types/handlers/sliding_sync.py | 692 | # Otherwise, just add it to the set | COMMENT |
| LOW | synapse/types/handlers/sliding_sync.py | 754 | # We're lazy-loading membership so we can just return the state we have. | COMMENT |
| LOW | synapse/util/__init__.py | 238 | # skip the splitting logic and just return the original dict. | COMMENT |
| LOW | synapse/util/httpresourcetree.py | 46 | # ideally we'd just use getChild and putChild but getChild doesn't work | COMMENT |
| MEDIUM | synapse/_scripts/generate_workers_map.py | 160 | # NOTE: a more robust implementation would properly shutdown/cleanup each server | COMMENT |
| LOW | synapse/state/v2.py | 1006 | # Didn't find a power level auth event, so we just return 0 | COMMENT |
| LOW | synapse/storage/background_updates.py | 1157 | # For postgres we can just add the constraint and mark it as NOT VALID, | STRING |
| LOW | synapse/storage/databases/main/events_bg_updates.py | 741 | # have an origin_server_ts, lets just use the current timestamp. | STRING |
| LOW | synapse/storage/databases/main/events_bg_updates.py | 2218 | # out-of-band memberships, we can just set this to `True` as if | STRING |
| LOW | synapse/storage/databases/main/roommember.py | 2134 | # If we haven't got a last processed room then just use the empty | STRING |
| LOW | synapse/storage/databases/main/transactions.py | 484 | # therefore sort the output and just return the first 25 rows. Obviously that | STRING |
| LOW | synapse/storage/databases/main/profile.py | 1002 | # We don't have stream ID's at this point, so just use a counter, and add in | STRING |
| LOW | synapse/storage/databases/main/sticky_events.py | 558 | # This event is one we are about to persist, so just use it | STRING |
| LOW | synapse/storage/databases/main/stream.py | 1758 | # can just use the latest position from it. | COMMENT |
| LOW | synapse/storage/databases/main/event_federation.py | 1664 | # we just use the 10 newest events. Older events will become | STRING |
| LOW | synapse/storage/util/id_generators.py | 421 | # date. If we're using Postgres for the sequences, we can just use the current | STRING |
| LOW | synapse/storage/controllers/persist_events.py | 1227 | # so lets just return that. | COMMENT |
| LOW | synapse/push/__init__.py | 178 | # We just use the minimum stream ordering and ignore the vector clock | COMMENT |
| LOW | synapse/push/pusherpool.py | 271 | # We just use the minimum stream ordering and ignore the vector clock | COMMENT |
| LOW | synapse/push/pusherpool.py | 286 | # We just use the minimum stream ordering and ignore the vector clock | COMMENT |
| LOW | synapse/push/mailer.py | 761 | # The sender is unknown, just use the room name (or ID). | COMMENT |
| LOW | synapse/http/site.py | 736 | # for now, we just use the first x-forwarded-for header. Really, we ought | COMMENT |
| LOW | synapse/http/matrixfederationclient.py | 726 | # that treq.request gives: just use the raw Agent. | COMMENT |
| LOW | synapse/http/federation/matrix_federation_agent.py | 435 | # SRV lookups and just use the given host/port. | COMMENT |
| LOW | synapse/federation/transport/server/_base.py | 347 | # just use our context as a parent | COMMENT |
| LOW | synapse/federation/sender/__init__.py | 510 | # We just use the minimum stream ordering and ignore the vector clock | COMMENT |
| LOW | synapse/api/auth/base.py | 379 | # We only just set this so it can't be None! | COMMENT |
| LOW | synapse/replication/tcp/commands.py | 66 | # by default, we just use the command name. | COMMENT |
| LOW | synapse/replication/http/_base.py | 417 | # We just use the txn_id here, but we probably also want to use the | COMMENT |
| MEDIUM | synapse/handlers/sync.py | 2170 | # `archived` sync results since we want to utilize the work we did to collect | COMMENT |
| LOW | synapse/handlers/sync.py | 573 | # database (invalid), then we simply use our max persisted position (recover | COMMENT |
| LOW | synapse/handlers/sync.py | 578 | # just return an empty response. | COMMENT |
| LOW | synapse/handlers/sync.py | 1523 | # timeline. If at the end we can just use the current state. | COMMENT |
| LOW | synapse/handlers/sync.py | 1662 | # timeline. If at the end we can just use the current state delta stream. | COMMENT |
| LOW | synapse/handlers/sync.py | 2636 | # No profile data for this user, just return a blank dictionary | COMMENT |
| LOW | synapse/handlers/sync.py | 3684 | # Naively, we would just return the difference between the state at the start | COMMENT |
| LOW | synapse/handlers/appservice.py | 103 | # We just use the minimum stream ordering and ignore the vector clock | COMMENT |
| LOW | synapse/handlers/presence.py | 2063 | # Hence this guard where we just return nothing so that the sync | COMMENT |
| LOW | synapse/handlers/federation_event.py | 584 | # When we don't know about any of the prev events, it's fine to just use | COMMENT |
| LOW | synapse/handlers/directory.py | 175 | # Let's just return a generic message, as there may be all sorts of | COMMENT |
| LOW | synapse/handlers/directory.py | 502 | # Let's just return a generic message, as there may be all sorts of | COMMENT |
| LOW | synapse/handlers/identity.py | 375 | # If not, just return a success without sending an email | COMMENT |
| 16 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | rust/src/twisted_dispatch.rs | 33 | //! └─ Write one byte to socket A ───────► socket B becomes readable | COMMENT |
| MEDIUM | tests/storage/test_sliding_sync_tables.py | 1859 | # ====================================================== | COMMENT |
| MEDIUM | tests/storage/test_sliding_sync_tables.py | 1958 | # ====================================================== | COMMENT |
| MEDIUM | tests/storage/test_sliding_sync_tables.py | 2025 | # ====================================================== | COMMENT |
| MEDIUM | tests/http/test_matrixfederationclient.py | 262 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | tests/http/test_matrixfederationclient.py | 280 | # ------------------------------------------------------- | COMMENT |
| MEDIUM | tests/http/test_matrixfederationclient.py | 301 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM | tests/http/test_simple_client.py | 146 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | tests/http/test_simple_client.py | 158 | # ------------------------------------------------------- | COMMENT |
| MEDIUM | tests/http/test_simple_client.py | 175 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/rest/client/test_sync.py | 1453 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/rest/client/test_sync.py | 1455 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/rest/client/test_sync.py | 1502 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/rest/client/test_sync.py | 1505 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/rest/client/test_sync.py | 1395 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/rest/client/test_sync.py | 1397 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …/rest/client/sliding_sync/test_rooms_required_state.py | 1767 | # ===================================================================== | COMMENT |
| MEDIUM | synapse/metrics/_gc.py | 170 | # ----------------------------- | COMMENT |
| MEDIUM | synapse/metrics/_gc.py | 179 | # ----------------------------- | COMMENT |
| MEDIUM | synapse/util/httpresourcetree.py | 70 | # =========================== | COMMENT |
| MEDIUM | synapse/handlers/sync.py | 3710 | # ---------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_event_auth.py | 925 | pl_event.room_version, pl_event, {("fake_type", "fake_key"): pl_event2} | CODE |
| LOW | tests/test_event_auth.py | 930 | pl_event.room_version, pl_event2, {("fake_type", "fake_key"): pl_event} | CODE |
| LOW | tests/storage/test_registration.py | 160 | "fake_token", | CODE |
| LOW | tests/storage/test_registration.py | 175 | "fake_token", | CODE |
| LOW⚡ | tests/storage/databases/main/test_end_to_end_keys.py | 47 | dummy_key = {"keys": {"a": "b"}} | CODE |
| LOW⚡ | tests/storage/databases/main/test_end_to_end_keys.py | 49 | self.store.set_e2e_cross_signing_key(alice, "master", dummy_key) | CODE |
| LOW | tests/api/test_ratelimiting.py | 38 | token="fake_token", | CODE |
| LOW | tests/api/test_ratelimiting.py | 77 | token="fake_token", | CODE |
| LOW | tests/handlers/test_send_email.py | 119 | "foo@bar.com", "test subject", "Tests", "HTML content", "Text content" | CODE |
| LOW | tests/handlers/test_send_email.py | 156 | self.assertEqual(str(user), "foo@bar.com") | CODE |
| LOW | tests/handlers/test_send_email.py | 177 | "foo@bar.com", "test subject", "Tests", "HTML content", "Text content" | CODE |
| LOW | tests/handlers/test_send_email.py | 227 | self.assertEqual(str(user), "foo@bar.com") | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 222 | "alg1:k1": {"dummy_id": 1}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 223 | "alg1:k2": {"dummy_id": 2}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 224 | "alg2:k3": {"dummy_id": 3}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 225 | "alg2:k4": {"dummy_id": 4}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 228 | "alg1:k5": {"dummy_id": 5}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 229 | "alg1:k6": {"dummy_id": 6}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 230 | "alg2:k7": {"dummy_id": 7}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 231 | "alg2:k8": {"dummy_id": 8}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 236 | "alg1:k9": {"dummy_id": 9}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 237 | "alg1:k10": {"dummy_id": 10}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 238 | "alg2:k11": {"dummy_id": 11}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 239 | "alg2:k12": {"dummy_id": 12}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 242 | "alg1:k13": {"dummy_id": 13}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 243 | "alg1:k14": {"dummy_id": 14}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 244 | "alg2:k15": {"dummy_id": 15}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 245 | "alg2:k16": {"dummy_id": 16}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 250 | "alg1:k17": {"dummy_id": 17}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 251 | "alg1:k18": {"dummy_id": 18}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 252 | "alg2:k19": {"dummy_id": 19}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 253 | "alg2:k20": {"dummy_id": 20}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 256 | "alg1:k21": {"dummy_id": 21}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 257 | "alg1:k22": {"dummy_id": 22}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 258 | "alg2:k23": {"dummy_id": 23}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 259 | "alg2:k24": {"dummy_id": 24}, | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 1919 | dummy_key = {"keys": {"a": "b"}} | CODE |
| LOW⚡ | tests/handlers/test_e2e_keys.py | 1921 | self.store.set_e2e_cross_signing_key("@alice:test", "master", dummy_key) | CODE |
| LOW | tests/rest/admin/test_user.py | 1567 | self.store.user_add_threepid("@user:test", "email", "foo@bar.com", 0, 0) | CODE |
| LOW | tests/rest/admin/test_user.py | 1655 | self.assertEqual("foo@bar.com", channel.json_body["threepids"][0]["address"]) | CODE |
| LOW | tests/rest/admin/test_user.py | 1727 | self.assertEqual("foo@bar.com", channel.json_body["threepids"][0]["address"]) | CODE |
| LOW | tests/rest/admin/test_user.py | 1781 | self.assertEqual("foo@bar.com", channel.json_body["threepids"][0]["address"]) | CODE |
| LOW | tests/rest/admin/test_user.py | 2785 | self.store.user_add_threepid("@user:test", "email", "foo@bar.com", 0, 0) | CODE |
| LOW | tests/rest/admin/test_user.py | 2798 | self.assertEqual("foo@bar.com", channel.json_body["threepids"][0]["address"]) | CODE |
| LOW | tests/rest/admin/test_user.py | 5166 | fake_user = "@bums:other" | CODE |
| LOW | tests/rest/admin/test_user.py | 5168 | "POST", self.url(fake_user), access_token=self.admin_user_tok | CODE |
| LOW | tests/rest/admin/test_user.py | 5181 | dummy_key = {"keys": {"a": "b"}} | CODE |
| LOW | tests/rest/admin/test_user.py | 5183 | self.store.set_e2e_cross_signing_key(self.other_user, "master", dummy_key) | CODE |
| LOW | tests/rest/client/test_rooms.py | 1730 | channel = self.make_request("PUT", path, {"displayname": "John Doe"}) | CODE |
| LOW | tests/rest/client/test_rooms.py | 1744 | self.assertEqual(channel.json_body["displayname"], "John Doe") | CODE |
| LOW⚡ | tests/rest/synapse/mas/test_users.py | 1382 | dummy_key = {"keys": {"a": "b"}} | CODE |
| LOW⚡ | tests/rest/synapse/mas/test_users.py | 1384 | store.set_e2e_cross_signing_key(str(alice), "master", dummy_key) | CODE |
| LOW⚡ | tests/rest/synapse/mas/test_users.py | 1468 | dummy_key = {"keys": {"a": "b"}} | CODE |
| LOW⚡ | tests/rest/synapse/mas/test_users.py | 1470 | store.set_e2e_cross_signing_key(str(alice), "master", dummy_key) | CODE |
| LOW | synapse/types/rest/client/__init__.py | 113 | # Without this, an email stored in the database as "foo@bar.com" would cause | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 162 | # If this is updated, don't forget to update the equivalent lines in | COMMENT |
| LOW | pyproject.toml | 162 | # If this is updated, don't forget to update the equivalent lines in | COMMENT |
| LOW | pyproject.toml | 289 | # If this is updated, don't forget to update the equivalent lines in | COMMENT |
| LOW | pyproject.toml | 289 | # If this is updated, don't forget to update the equivalent lines in | COMMENT |
| LOW | mypy.ini | 11 | # If you add a new plugin, make sure to check whether the hooks being used conflict with | COMMENT |
| MEDIUM | scripts-dev/complement.sh | 33 | # you can use 'unverifiable' sources such as git repositories as dependencies. | COMMENT |
| LOW⚡ | scripts-dev/complement.sh | 48 | # XXX: If the Docker image name changes, don't forget to update | COMMENT |
| LOW⚡ | scripts-dev/complement.sh | 48 | # XXX: If the Docker image name changes, don't forget to update | COMMENT |
| LOW⚡ | scripts-dev/complement.sh | 55 | # XXX: If the Docker image name changes, don't forget to update | COMMENT |
| LOW⚡ | scripts-dev/complement.sh | 55 | # XXX: If the Docker image name changes, don't forget to update | COMMENT |
| LOW | rust/src/events/unsigned.rs | 65 | /// new field we don't forget to add it to all the necessary places. | COMMENT |
| MEDIUM | tests/unittest.py | 917 | # If you have a first `Deferred` `D1`, you can add a callback which returns | COMMENT |
| LOW | synapse/util/metrics.py | 295 | Don't forget to register this registry with the main registry! | STRING |
| LOW | synapse/util/caches/lrucache.py | 907 | # We're about to be deleted, so we make sure to clear up all the nodes | COMMENT |
| LOW | synapse/storage/_base.py | 102 | # XXX: If you add something to this function make sure you add it to | COMMENT |
| LOW | synapse/storage/databases/main/roommember.py | 1640 | # `sliding_sync_joined_rooms` or `forgotten`), make sure to bust the | COMMENT |
| LOW | synapse/storage/databases/main/transactions.py | 491 | # (NB: we make sure to do the top-level sort and limit on the database, rather | STRING |
| LOW | synapse/storage/databases/main/cache.py | 417 | # XXX: If you add something to this function make sure you add it to | STRING |
| MEDIUM | synapse/storage/databases/main/event_federation.py | 836 | # It's worth noting that once we have the ALL_ sets, we no longer care about the paths. | STRING |
| LOW | synapse/storage/databases/main/purge_events.py | 257 | # This will commit the txn in sqlite, so make sure to keep this actually last. | COMMENT |
| LOW | synapse/storage/databases/main/purge_events.py | 447 | # so make sure to keep this actually last. | STRING |
| LOW | synapse/events/builder.py | 250 | # Also make sure to point to the previous membership event that will | COMMENT |
| MEDIUM | synapse/server_notices/server_notices_manager.py | 121 | # it's worth noting that there is an asymmetry here in that we | COMMENT |
| MEDIUM | synapse/handlers/oidc.py | 1580 | but it's worth noting that we still put the generated secret in the "client_secret" | STRING |
| LOW | synapse/handlers/sliding_sync/__init__.py | 149 | # If we're working with a user-provided token, we need to make sure to wait for | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unittest.py | 728 | CODE | |
| LOW | tests/server.py | 450 | CODE | |
| LOW | tests/test_state.py | 872 | CODE | |
| LOW | …s/federation/test_federation_out_of_band_membership.py | 346 | CODE | |
| LOW | …s/federation/test_federation_out_of_band_membership.py | 499 | CODE | |
| LOW | tests/federation/_remote_join.py | 306 | CODE | |
| LOW | tests/replication/storage/test_events.py | 237 | CODE | |
| LOW | synapse/notifier.py | 856 | CODE | |
| LOW | synapse/util/caches/descriptors.py | 532 | CODE | |
| LOW | synapse/util/caches/descriptors.py | 212 | CODE | |
| LOW | synapse/appservice/__init__.py | 105 | CODE | |
| LOW | synapse/state/__init__.py | 559 | CODE | |
| LOW | synapse/storage/databases/main/registration.py | 232 | CODE | |
| LOW | synapse/storage/databases/main/transactions.py | 190 | CODE | |
| LOW | synapse/storage/databases/main/__init__.py | 181 | CODE | |
| LOW | synapse/storage/databases/main/stream.py | 1407 | CODE | |
| LOW | synapse/http/proxyagent.py | 118 | CODE | |
| LOW | synapse/http/matrixfederationclient.py | 968 | CODE | |
| LOW | synapse/http/matrixfederationclient.py | 985 | CODE | |
| LOW | synapse/http/matrixfederationclient.py | 1001 | CODE | |
| LOW | synapse/http/federation/matrix_federation_agent.py | 250 | CODE | |
| LOW | synapse/module_api/__init__.py | 402 | CODE | |
| LOW | synapse/module_api/__init__.py | 498 | CODE | |
| LOW | synapse/module_api/callbacks/spamchecker_callbacks.py | 275 | CODE | |
| LOW | …ule_api/callbacks/third_party_event_rules_callbacks.py | 189 | CODE | |
| LOW | synapse/handlers/register.py | 228 | CODE | |
| LOW | synapse/handlers/register.py | 722 | CODE | |
| LOW | synapse/handlers/message.py | 579 | CODE | |
| LOW | synapse/handlers/message.py | 978 | CODE | |
| LOW | synapse/handlers/message.py | 1123 | CODE | |
| LOW | synapse/handlers/message.py | 1249 | CODE | |
| LOW | synapse/handlers/admin.py | 101 | CODE | |
| LOW | synapse/handlers/room_member.py | 397 | CODE | |
| LOW | synapse/handlers/room_member.py | 579 | CODE | |
| LOW | synapse/handlers/room_member.py | 698 | CODE | |
| LOW | synapse/handlers/initial_sync.py | 299 | CODE | |
| LOW | synapse/rest/client/login.py | 365 | CODE | |
| LOW | synapse/rest/client/login.py | 367 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | complement/tests/federation_room_join_test.go | 140 | // Step 1: make_join, hs1 returns a join event template whose prev_events | COMMENT |
| LOW⚡ | complement/tests/federation_room_join_test.go | 149 | // Step 2: Alice sends a message on hs1. This advances the DAG past the | COMMENT |
| LOW | complement/tests/federation_room_join_test.go | 161 | // Step 3: Build and sign the join event, then send_join. | COMMENT |
| LOW | complement/tests/federation_room_join_test.go | 178 | // Step 4: hs1 should make the missed message discoverable to the joining | COMMENT |
| LOW | synapse/res/templates/sso_error.html | 83 | // We might end up with no error in the URL, so we need to check if we have one | COMMENT |
| LOW | synapse/replication/tcp/handler.py | 892 | We need to check if the client is interested in the stream or not | STRING |
| LOW | synapse/handlers/e2e_keys.py | 1612 | The purpose of this function is to detect whether or not we need to apply UIA checks. | STRING |
| LOW | synapse/handlers/user_directory.py | 281 | # For join rule and visibility changes we need to check if the room | COMMENT |
| LOW | synapse/rest/client/login.py | 102 | # Whether we need to check if the user has been approved or not. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | complement/tests/federation_room_join_test.go | 140 | // Step 1: make_join, hs1 returns a join event template whose prev_events | COMMENT |
| LOW⚡ | complement/tests/federation_room_join_test.go | 149 | // Step 2: Alice sends a message on hs1. This advances the DAG past the | COMMENT |
| LOW | complement/tests/federation_room_join_test.go | 161 | // Step 3: Build and sign the join event, then send_join. | COMMENT |
| LOW | complement/tests/federation_room_join_test.go | 178 | // Step 4: hs1 should make the missed message discoverable to the joining | COMMENT |
| LOW | synapse/storage/databases/main/transactions.py | 280 | # WARNING: This is executed in autocommit, so we shouldn't add any more | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/http/test_additional_resource.py | 37 | async def handle_request(self, request: Request) -> None: | CODE |
| LOW | tests/http/test_additional_resource.py | 46 | async def handle_request(self, request: Request) -> None: | CODE |
| LOW | synapse/util/caches/response_cache.py | 321 | async def handle_request(request): | STRING |
| LOW | synapse/util/caches/cached_call.py | 54 | async def handle_request() -> X: | STRING |
| LOW | synapse/util/caches/descriptors.py | 607 | def do_something(self, first_arg, second_arg): | STRING |
| LOW | synapse/http/site.py | 478 | async def handle_request(request): | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .ci/scripts/schema_diff.py | 5 | # Usage: | COMMENT |
| LOW | debian/manage_debconf.pl | 5 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | synapse/media/storage_provider.py | 114 | # TODO: Handle errors. | COMMENT |