diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e35d1262..92c00b28 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -18,6 +18,9 @@ stages: code_analyze: stage: coverage script: [./scripts/code_analyze.sh] + artifacts: + reports: + codequality: code-quality-report.json code_analyze_beta: extends: code_analyze diff --git a/analysis_options.yaml b/analysis_options.yaml index c52b9e92..54295378 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -15,3 +15,37 @@ analyzer: exclude: - lib/generated_plugin_registrant.dart - lib/l10n/*.dart + +dart_code_metrics: + metrics: + cyclomatic-complexity: 20 + number-of-arguments: 4 + maximum-nesting-level: 5 + source-lines-of-code: 50 + maintainability-index: 40 + rules: + - no-boolean-literal-compare + - no-empty-block + - prefer-conditional-expressions + - no-equal-then-else + - no-magic-number: + severity: style + - avoid-late-keyword: + severity: style + - avoid-non-null-assertion: + severity: style + - avoid-unused-parameters + - binary-expression-operand-order + - avoid-unnecessary-setstate + - avoid-wrapping-in-padding + - prefer-const-border-radius + - prefer-single-widget-per-file: + ignore-private-widgets: true + - prefer-extracting-callbacks + metrics-exclude: + - test/** + rules-exclude: + - test/** + anti-patterns: + - long-method + - long-parameter-list diff --git a/code-quality-report.json b/code-quality-report.json new file mode 100644 index 00000000..2f7b88f9 --- /dev/null +++ b/code-quality-report.json @@ -0,0 +1 @@ +[{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/sticker.dart","positions":{"begin":{"line":28,"column":19},"end":{"line":28,"column":22}}},"severity":"minor","fingerprint":"a18d85267b396e985e7a1b1c37bf56a4"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/sticker.dart","positions":{"begin":{"line":29,"column":17},"end":{"line":29,"column":20}}},"severity":"minor","fingerprint":"a18d85267b396e985e7a1b1c37bf56a4"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/sticker.dart","positions":{"begin":{"line":31,"column":19},"end":{"line":31,"column":22}}},"severity":"minor","fingerprint":"b3a831cca0716ae5ade704bd6e44c4bd"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/sticker.dart","positions":{"begin":{"line":32,"column":17},"end":{"line":32,"column":20}}},"severity":"minor","fingerprint":"b3a831cca0716ae5ade704bd6e44c4bd"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/sticker.dart","positions":{"begin":{"line":37,"column":14},"end":{"line":37,"column":17}}},"severity":"minor","fingerprint":"27c77b441ed0af09c736ca6a7b4b5b28"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/sticker.dart","positions":{"begin":{"line":38,"column":15},"end":{"line":38,"column":18}}},"severity":"minor","fingerprint":"27c77b441ed0af09c736ca6a7b4b5b28"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/widgets/event_content/sticker.dart","positions":{"begin":{"line":40,"column":7},"end":{"line":47,"column":8}}},"severity":"minor","fingerprint":"a122e49d34fcfdd3c6bca76f6f0ebce6"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/html_message.dart","positions":{"begin":{"line":68,"column":32},"end":{"line":68,"column":35}}},"severity":"minor","fingerprint":"77372abe4c457fc8955aff0fdfe25123"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/html_message.dart","positions":{"begin":{"line":69,"column":34},"end":{"line":69,"column":37}}},"severity":"minor","fingerprint":"77372abe4c457fc8955aff0fdfe25123"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/widgets/event_content/html_message.dart","positions":{"begin":{"line":62,"column":7},"end":{"line":74,"column":8}}},"severity":"minor","fingerprint":"00328c658aa10ca10a4b8e9d1ab62bc1"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/widgets/event_content/html_message.dart","positions":{"begin":{"line":87,"column":7},"end":{"line":89,"column":8}}},"severity":"minor","fingerprint":"549be5070d836a3638366b0ddcdc4ae3"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/widgets/event_content/html_message.dart","positions":{"begin":{"line":90,"column":7},"end":{"line":92,"column":8}}},"severity":"minor","fingerprint":"d8f1cd019159c92651c4a9a2045a84b3"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/widgets/event_content/html_message.dart","positions":{"begin":{"line":93,"column":7},"end":{"line":150,"column":8}}},"severity":"minor","fingerprint":"9ce256e41028df0406973f6e9083c703"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 33, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/html_message.dart","positions":{"begin":{"line":32,"column":3},"end":{"line":152,"column":4}}},"severity":"info","fingerprint":"b8ceb4d4d103eeed0c63adbfb6e08891"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 104 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/html_message.dart","positions":{"begin":{"line":32,"column":3},"end":{"line":152,"column":4}}},"severity":"info","fingerprint":"38442aafe4e253fa06de4e3b6939ded7"},{"type":"issue","check_name":"binary-expression-operand-order","description":"Prefer literals at RHS in binary expressions.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message.dart","positions":{"begin":{"line":266,"column":25},"end":{"line":266,"column":54}}},"severity":"minor","fingerprint":"87fa622dc4c4b1d1a74eccfdfac2ab4e"},{"type":"issue","check_name":"binary-expression-operand-order","description":"Prefer literals at RHS in binary expressions.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message.dart","positions":{"begin":{"line":279,"column":23},"end":{"line":279,"column":52}}},"severity":"minor","fingerprint":"87fa622dc4c4b1d1a74eccfdfac2ab4e"},{"type":"issue","check_name":"binary-expression-operand-order","description":"Prefer literals at RHS in binary expressions.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message.dart","positions":{"begin":{"line":287,"column":21},"end":{"line":287,"column":50}}},"severity":"minor","fingerprint":"f1ee39dc8cd1fade047a97c1185e61c4"},{"type":"issue","check_name":"binary-expression-operand-order","description":"Prefer literals at RHS in binary expressions.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message.dart","positions":{"begin":{"line":295,"column":19},"end":{"line":295,"column":48}}},"severity":"minor","fingerprint":"c446f4465f2d70d9a2fd06dd0fdca4ee"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message.dart","positions":{"begin":{"line":228,"column":56},"end":{"line":228,"column":59}}},"severity":"minor","fingerprint":"9d6dae91201b8bc2d324a7d12683c9b7"},{"type":"issue","check_name":"prefer-conditional-expressions","description":"Prefer conditional expression","categories":["Style"],"location":{"path":"lib/widgets/event_content/message.dart","positions":{"begin":{"line":204,"column":5},"end":{"line":223,"column":6}}},"severity":"minor","fingerprint":"893e4e99dc35f1d4a42f3e95ff39b084"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 27, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/message.dart","positions":{"begin":{"line":45,"column":3},"end":{"line":239,"column":4}}},"severity":"info","fingerprint":"b2ccbb84de3cbc96b1ebfe4843fb4fa3"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 187 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/message.dart","positions":{"begin":{"line":45,"column":3},"end":{"line":239,"column":4}}},"severity":"info","fingerprint":"84c34fe0b1826639ef5d4af38061a94a"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/reply_content.dart","positions":{"begin":{"line":49,"column":31},"end":{"line":49,"column":34}}},"severity":"minor","fingerprint":"c2a7cbd8613221f74b9742ffbe65a85d"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 80 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/reply_content.dart","positions":{"begin":{"line":19,"column":3},"end":{"line":100,"column":4}}},"severity":"info","fingerprint":"fcdfc8cef95e0f310d0a7d4efd0715c9"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":49,"column":31},"end":{"line":49,"column":33}}},"severity":"minor","fingerprint":"0b15e37c550563970531498ba378734e"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":86,"column":24},"end":{"line":86,"column":27}}},"severity":"minor","fingerprint":"2e941abc3a81487bb53e410a5bfa28ee"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":87,"column":25},"end":{"line":87,"column":28}}},"severity":"minor","fingerprint":"43ca605df7e9dd681b5b3696d1421553"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":151,"column":52},"end":{"line":151,"column":53}}},"severity":"minor","fingerprint":"42d7020ba49e6120efa2bcf94c7b923c"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":154,"column":46},"end":{"line":154,"column":49}}},"severity":"minor","fingerprint":"ba9ffac2c9b85212e8900b599c54d1be"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":155,"column":52},"end":{"line":155,"column":53}}},"severity":"minor","fingerprint":"42d7020ba49e6120efa2bcf94c7b923c"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":159,"column":51},"end":{"line":159,"column":52}}},"severity":"minor","fingerprint":"42d7020ba49e6120efa2bcf94c7b923c"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":159,"column":66},"end":{"line":159,"column":69}}},"severity":"minor","fingerprint":"24eb230ebf65665046e371f9320a5c7c"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":187,"column":37},"end":{"line":187,"column":38}}},"severity":"minor","fingerprint":"87d830c552c716df8fa081c23484e7c6"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":254,"column":50},"end":{"line":254,"column":51}}},"severity":"minor","fingerprint":"42d7020ba49e6120efa2bcf94c7b923c"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":258,"column":44},"end":{"line":258,"column":47}}},"severity":"minor","fingerprint":"ba9ffac2c9b85212e8900b599c54d1be"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":259,"column":50},"end":{"line":259,"column":51}}},"severity":"minor","fingerprint":"42d7020ba49e6120efa2bcf94c7b923c"},{"type":"issue","check_name":"maximum-nesting-level","description":"This method has a nesting level of 6, which exceeds the maximum of 5 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":31,"column":3},"end":{"line":71,"column":4}}},"severity":"info","fingerprint":"ae6fb731a03c0bb60b8be53768296da7"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 47, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":74,"column":3},"end":{"line":277,"column":4}}},"severity":"info","fingerprint":"2073eab5a468264bd4fe3adbb79b3f1f"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 200 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":74,"column":3},"end":{"line":277,"column":4}}},"severity":"info","fingerprint":"7a78607d6008c59d75237603b086bbfc"},{"type":"issue","check_name":"maintainability-index","description":"","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/message_content.dart","positions":{"begin":{"line":74,"column":3},"end":{"line":277,"column":4}}},"severity":"info","fingerprint":"20e0718e8411dfb61496f6e71a1a1c5f"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/audio_player.dart","positions":{"begin":{"line":108,"column":55},"end":{"line":108,"column":56}}},"severity":"minor","fingerprint":"0563f2a5e210988c010b7aa5e44be71b"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/audio_player.dart","positions":{"begin":{"line":108,"column":85},"end":{"line":108,"column":87}}},"severity":"minor","fingerprint":"21fe69c2f91e0bc3c350b27c9da5d53f"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/audio_player.dart","positions":{"begin":{"line":108,"column":108},"end":{"line":108,"column":109}}},"severity":"minor","fingerprint":"0563f2a5e210988c010b7aa5e44be71b"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 53 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/audio_player.dart","positions":{"begin":{"line":131,"column":3},"end":{"line":185,"column":4}}},"severity":"info","fingerprint":"47888dd46446e218c745f5965d9957f1"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/map_bubble.dart","positions":{"begin":{"line":15,"column":17},"end":{"line":15,"column":21}}},"severity":"minor","fingerprint":"e1c1439921059404534279306f98dd19"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/map_bubble.dart","positions":{"begin":{"line":16,"column":18},"end":{"line":16,"column":21}}},"severity":"minor","fingerprint":"cc56f8d086b7db08511298f8886d0ec2"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/map_bubble.dart","positions":{"begin":{"line":17,"column":19},"end":{"line":17,"column":22}}},"severity":"minor","fingerprint":"cc56f8d086b7db08511298f8886d0ec2"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/map_bubble.dart","positions":{"begin":{"line":18,"column":19},"end":{"line":18,"column":23}}},"severity":"minor","fingerprint":"ab9279b1b3109fb18f43addd3f92c5b7"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":36,"column":19},"end":{"line":36,"column":23}}},"severity":"minor","fingerprint":"3f73d6e2442a6c69754d75b6f7432273"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":39,"column":18},"end":{"line":39,"column":21}}},"severity":"minor","fingerprint":"b3c7df643f0dd62a25731f458cd4f9fd"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":40,"column":19},"end":{"line":40,"column":22}}},"severity":"minor","fingerprint":"f9fde904aebfbcccdfca3ea6d5026c4c"},{"type":"issue","check_name":"prefer-conditional-expressions","description":"Prefer conditional expression","categories":["Style"],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":267,"column":5},"end":{"line":289,"column":6}}},"severity":"minor","fingerprint":"d29ba9096b9fb3965e5a442c79b4e59a"},{"type":"issue","check_name":"prefer-conditional-expressions","description":"Prefer conditional expression","categories":["Style"],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":300,"column":5},"end":{"line":382,"column":6}}},"severity":"minor","fingerprint":"f2dccf145a377f200e03c9515c290dfd"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":274,"column":9},"end":{"line":286,"column":10}}},"severity":"minor","fingerprint":"83951a6affa155dfd539fba2535e3981"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":308,"column":9},"end":{"line":325,"column":10}}},"severity":"minor","fingerprint":"edf234165287b3fc78e1cbd834da0241"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":331,"column":9},"end":{"line":380,"column":10}}},"severity":"minor","fingerprint":"5e246e4df885a4a7d6775dce13a797ff"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":441,"column":49},"end":{"line":453,"column":8}}},"severity":"minor","fingerprint":"08b101d760b4cbe378d263ddcb7baf5b"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 52 lines with code.","categories":[],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":129,"column":3},"end":{"line":188,"column":4}}},"severity":"info","fingerprint":"8b3524971416fa5adbb5b829db0e903e"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 78 lines with code.","categories":[],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":293,"column":3},"end":{"line":383,"column":4}}},"severity":"info","fingerprint":"5da8bc597439e3af34d48f310bcdff79"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 52 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":129,"column":3},"end":{"line":188,"column":4}}},"severity":"info","fingerprint":"97b9359da9ed6a2926481989e2d6f3f6"},{"type":"issue","check_name":"maximum-nesting-level","description":"This method has a nesting level of 6, which exceeds the maximum of 5 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":259,"column":3},"end":{"line":290,"column":4}}},"severity":"info","fingerprint":"7a9bb7ec3fdfa5a4a858d903dad94270"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 24, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":293,"column":3},"end":{"line":383,"column":4}}},"severity":"info","fingerprint":"9308b5e6fc4cfb1a3f46e8fa9927ab67"},{"type":"issue","check_name":"maximum-nesting-level","description":"This method has a nesting level of 6, which exceeds the maximum of 5 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":293,"column":3},"end":{"line":383,"column":4}}},"severity":"info","fingerprint":"d5f35cae95066f73f9a96035b717e97b"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 78 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/image_bubble.dart","positions":{"begin":{"line":293,"column":3},"end":{"line":383,"column":4}}},"severity":"info","fingerprint":"aa29fbc2d0c25421dc513de6f36287fd"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_reactions.dart","positions":{"begin":{"line":44,"column":18},"end":{"line":44,"column":21}}},"severity":"minor","fingerprint":"77d0c60fba23e549a3925770a21bb497"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_reactions.dart","positions":{"begin":{"line":45,"column":21},"end":{"line":45,"column":24}}},"severity":"minor","fingerprint":"77d0c60fba23e549a3925770a21bb497"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_reactions.dart","positions":{"begin":{"line":133,"column":30},"end":{"line":133,"column":32}}},"severity":"minor","fingerprint":"0c79d7e96679b68099d088e5cab2b1c6"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_reactions.dart","positions":{"begin":{"line":134,"column":43},"end":{"line":134,"column":44}}},"severity":"minor","fingerprint":"e8844e89b7a5ee808610a97e9474c242"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/event_content/message_reactions.dart","positions":{"begin":{"line":152,"column":47},"end":{"line":152,"column":48}}},"severity":"minor","fingerprint":"e708b8d4944762fc1e7878f4a7f88395"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 58 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/message_reactions.dart","positions":{"begin":{"line":19,"column":3},"end":{"line":79,"column":4}}},"severity":"info","fingerprint":"2de2b02a14ad16b8a43b94eafa7d0487"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 59 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/event_content/message_reactions.dart","positions":{"begin":{"line":98,"column":3},"end":{"line":158,"column":4}}},"severity":"info","fingerprint":"d8b5c4e346b5bded36ef667dc0da58ff"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/profile_bottom_sheet.dart","positions":{"begin":{"line":50,"column":75},"end":{"line":50,"column":78}}},"severity":"minor","fingerprint":"5585bc10bb19d9e80e42238488880680"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/profile_bottom_sheet.dart","positions":{"begin":{"line":52,"column":22},"end":{"line":52,"column":23}}},"severity":"minor","fingerprint":"649a7760ff2e57e7ccd46cc32846b425"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/profile_bottom_sheet.dart","positions":{"begin":{"line":59,"column":75},"end":{"line":59,"column":78}}},"severity":"minor","fingerprint":"8ae9680238392adf1dd679a47f8b873d"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 66 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/profile_bottom_sheet.dart","positions":{"begin":{"line":46,"column":3},"end":{"line":114,"column":4}}},"severity":"info","fingerprint":"d4903b0ce2c4330ee758a5ba04ed0b8e"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/contacts_list.dart","positions":{"begin":{"line":45,"column":11},"end":{"line":45,"column":15}}},"severity":"minor","fingerprint":"5bde1cad679fd1a94c5a2387d4f4c2bf"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/connection_status_header.dart","positions":{"begin":{"line":22,"column":62},"end":{"line":22,"column":63}}},"severity":"minor","fingerprint":"a395d63c04bd9ad4f0d5a3714927245e"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/connection_status_header.dart","positions":{"begin":{"line":22,"column":67},"end":{"line":22,"column":71}}},"severity":"minor","fingerprint":"04426ca1e6e1ea63e1dd64b982172652"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/connection_status_header.dart","positions":{"begin":{"line":52,"column":32},"end":{"line":52,"column":34}}},"severity":"minor","fingerprint":"ae2ba2e4906b9d0ab4bc253ce8aa0701"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/layouts/two_column_layout.dart","positions":{"begin":{"line":13,"column":73},"end":{"line":13,"column":74}}},"severity":"minor","fingerprint":"a0036e2294005744ba384c86bb1c3465"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/layouts/side_view_layout.dart","positions":{"begin":{"line":18,"column":74},"end":{"line":18,"column":77}}},"severity":"minor","fingerprint":"bf60234ac29fe4de7a6d1f983af513e3"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/layouts/one_page_card.dart","positions":{"begin":{"line":29,"column":62},"end":{"line":29,"column":65}}},"severity":"minor","fingerprint":"94d25d66886a04818e5a03352f287912"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/layouts/one_page_card.dart","positions":{"begin":{"line":29,"column":69},"end":{"line":29,"column":70}}},"severity":"minor","fingerprint":"a1774b807451d098fc83612816166ce9"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/layouts/one_page_card.dart","positions":{"begin":{"line":29,"column":72},"end":{"line":29,"column":74}}},"severity":"minor","fingerprint":"fbfe1a463e9d9c4c9f0028379d43320e"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/layouts/one_page_card.dart","positions":{"begin":{"line":31,"column":63},"end":{"line":31,"column":66}}},"severity":"minor","fingerprint":"89c999bf9aa325b987ba62a4aa7faf7e"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/layouts/one_page_card.dart","positions":{"begin":{"line":31,"column":70},"end":{"line":31,"column":71}}},"severity":"minor","fingerprint":"a1774b807451d098fc83612816166ce9"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/layouts/one_page_card.dart","positions":{"begin":{"line":31,"column":73},"end":{"line":31,"column":75}}},"severity":"minor","fingerprint":"fbfe1a463e9d9c4c9f0028379d43320e"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/layouts/one_page_card.dart","positions":{"begin":{"line":33,"column":54},"end":{"line":33,"column":55}}},"severity":"minor","fingerprint":"d33c3092e814eb2c8c5bcf5e997c1b7d"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/layouts/max_width_body.dart","positions":{"begin":{"line":12,"column":21},"end":{"line":12,"column":24}}},"severity":"minor","fingerprint":"f16d825e754518a25e16e53204f9de7b"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 127 lines with code.","categories":[],"location":{"path":"lib/widgets/input_bar.dart","positions":{"begin":{"line":42,"column":3},"end":{"line":172,"column":4}}},"severity":"info","fingerprint":"e2f671862063ae4df2d68946b575d486"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 79 lines with code.","categories":[],"location":{"path":"lib/widgets/input_bar.dart","positions":{"begin":{"line":209,"column":3},"end":{"line":293,"column":4}}},"severity":"info","fingerprint":"f511282a783012101274991dfaac7f92"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 60 lines with code.","categories":[],"location":{"path":"lib/widgets/input_bar.dart","positions":{"begin":{"line":295,"column":3},"end":{"line":356,"column":4}}},"severity":"info","fingerprint":"b0b0a57c4a791d1ccf59ff407b4901ee"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 47, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/input_bar.dart","positions":{"begin":{"line":42,"column":3},"end":{"line":172,"column":4}}},"severity":"info","fingerprint":"e6c7c5db11ee743d45dd70bd97dc6714"},{"type":"issue","check_name":"maximum-nesting-level","description":"This method has a nesting level of 6, which exceeds the maximum of 5 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/input_bar.dart","positions":{"begin":{"line":42,"column":3},"end":{"line":172,"column":4}}},"severity":"info","fingerprint":"0b0bd15569ad367b1e34f1ed84b45ae9"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 127 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/input_bar.dart","positions":{"begin":{"line":42,"column":3},"end":{"line":172,"column":4}}},"severity":"info","fingerprint":"bb5b5b5d8547bf6ff5adec7893a47494"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 79 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/input_bar.dart","positions":{"begin":{"line":209,"column":3},"end":{"line":293,"column":4}}},"severity":"info","fingerprint":"e581d294fc52cda8acf3fb7d755d377f"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 60 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/input_bar.dart","positions":{"begin":{"line":295,"column":3},"end":{"line":356,"column":4}}},"severity":"info","fingerprint":"77a23ac001605c8caed701fa9b31c5aa"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 73 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/input_bar.dart","positions":{"begin":{"line":359,"column":3},"end":{"line":438,"column":4}}},"severity":"info","fingerprint":"2c54d4840310d5c5268cafe8ce3b4335"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/list_items/permission_list_tile.dart","positions":{"begin":{"line":97,"column":20},"end":{"line":97,"column":23}}},"severity":"minor","fingerprint":"8bec06106bc6be8363135af83bd22eb4"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/list_items/permission_list_tile.dart","positions":{"begin":{"line":99,"column":19},"end":{"line":99,"column":21}}},"severity":"minor","fingerprint":"f627d5cb7f515dc74d98a4e245a3092d"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/list_items/chat_list_item.dart","positions":{"begin":{"line":163,"column":54},"end":{"line":163,"column":57}}},"severity":"minor","fingerprint":"338736f7e5948802225e9c3d56950635"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 76 lines with code.","categories":[],"location":{"path":"lib/widgets/list_items/chat_list_item.dart","positions":{"begin":{"line":40,"column":3},"end":{"line":120,"column":4}}},"severity":"info","fingerprint":"a95d60f41d5a3222a7849db5f8cb4268"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 22, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/list_items/chat_list_item.dart","positions":{"begin":{"line":40,"column":3},"end":{"line":120,"column":4}}},"severity":"info","fingerprint":"da1ea7f8a29390a2a847808dddab681a"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 76 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/list_items/chat_list_item.dart","positions":{"begin":{"line":40,"column":3},"end":{"line":120,"column":4}}},"severity":"info","fingerprint":"f846b3794b20ced135864b3e9710ecc6"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 29, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/list_items/chat_list_item.dart","positions":{"begin":{"line":149,"column":3},"end":{"line":325,"column":4}}},"severity":"info","fingerprint":"7c037003e7234de2d0b4c404a879232a"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 175 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/list_items/chat_list_item.dart","positions":{"begin":{"line":149,"column":3},"end":{"line":325,"column":4}}},"severity":"info","fingerprint":"8452e82c53c195009c9e2d230d651c8d"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/list_items/user_device_list_item.dart","positions":{"begin":{"line":98,"column":27},"end":{"line":98,"column":30}}},"severity":"minor","fingerprint":"6c7af04d2cd7d634e710acd91fd2ea3e"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/widgets/list_items/user_device_list_item.dart","positions":{"begin":{"line":44,"column":7},"end":{"line":94,"column":8}}},"severity":"minor","fingerprint":"e090b290b19ff30db23941e8f02d55fd"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 105 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/list_items/user_device_list_item.dart","positions":{"begin":{"line":37,"column":3},"end":{"line":144,"column":4}}},"severity":"info","fingerprint":"042010cf7bf2dea657e1c586976e840c"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/widgets/chat_settings_popup_menu.dart","positions":{"begin":{"line":91,"column":7},"end":{"line":126,"column":8}}},"severity":"minor","fingerprint":"2e49a4816f0767451626e8dbd658d7b5"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 95 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/chat_settings_popup_menu.dart","positions":{"begin":{"line":33,"column":3},"end":{"line":129,"column":4}}},"severity":"info","fingerprint":"225189a4ba381bf13d2dd6b5758088be"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/avatar.dart","positions":{"begin":{"line":34,"column":39},"end":{"line":34,"column":40}}},"severity":"minor","fingerprint":"707005d7cf37837041252eeb768b00a9"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/avatar.dart","positions":{"begin":{"line":35,"column":61},"end":{"line":35,"column":62}}},"severity":"minor","fingerprint":"707005d7cf37837041252eeb768b00a9"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 51 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/avatar.dart","positions":{"begin":{"line":27,"column":3},"end":{"line":79,"column":4}}},"severity":"info","fingerprint":"761a35a4cd4fe9aacc82537f68154668"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/content_banner.dart","positions":{"begin":{"line":18,"column":22},"end":{"line":18,"column":25}}},"severity":"minor","fingerprint":"20c4e9cd833a8482d905dade79925780"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/content_banner.dart","positions":{"begin":{"line":23,"column":22},"end":{"line":23,"column":26}}},"severity":"minor","fingerprint":"6f548c7632cd9e42e0e894c140042254"},{"type":"issue","check_name":"prefer-conditional-expressions","description":"Prefer conditional expression","categories":["Style"],"location":{"path":"lib/widgets/matrix.dart","positions":{"begin":{"line":301,"column":11},"end":{"line":314,"column":12}}},"severity":"minor","fingerprint":"754a4cadc82d3add61a931174d623f83"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 107 lines with code.","categories":[],"location":{"path":"lib/widgets/matrix.dart","positions":{"begin":{"line":212,"column":3},"end":{"line":320,"column":4}}},"severity":"info","fingerprint":"ca77015e0a08650910897921c32ac985"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 68 lines with code.","categories":[],"location":{"path":"lib/widgets/matrix.dart","positions":{"begin":{"line":394,"column":3},"end":{"line":465,"column":4}}},"severity":"info","fingerprint":"4eb249fa8c4ed008e8bdaf30fdfc07e0"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 107 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/matrix.dart","positions":{"begin":{"line":212,"column":3},"end":{"line":320,"column":4}}},"severity":"info","fingerprint":"1d91bb5dc0ad7a8e75c201561317c50f"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 33, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/matrix.dart","positions":{"begin":{"line":394,"column":3},"end":{"line":465,"column":4}}},"severity":"info","fingerprint":"0dc2ead8b3289bb9e5eff011cc8e0c48"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 68 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/matrix.dart","positions":{"begin":{"line":394,"column":3},"end":{"line":465,"column":4}}},"severity":"info","fingerprint":"72f596118c2f7761b3e671019c5ea3a5"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 62 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/widgets/lock_screen.dart","positions":{"begin":{"line":24,"column":3},"end":{"line":87,"column":4}}},"severity":"info","fingerprint":"408e6b6a828c04ada6852d04861917e7"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/encryption_button.dart","positions":{"begin":{"line":108,"column":23},"end":{"line":108,"column":25}}},"severity":"minor","fingerprint":"ec34b90c6e157155cb03f8b1dcecbb29"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/widgets/default_app_bar_search_field.dart","positions":{"begin":{"line":80,"column":15},"end":{"line":80,"column":17}}},"severity":"minor","fingerprint":"393a012afbecf9650d71a7375e05d4e5"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/main.dart","positions":{"begin":{"line":105,"column":28},"end":{"line":105,"column":29}}},"severity":"minor","fingerprint":"4efeeaf848b860faf4e73ae3bd225252"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/main.dart","positions":{"begin":{"line":105,"column":44},"end":{"line":105,"column":45}}},"severity":"minor","fingerprint":"4efeeaf848b860faf4e73ae3bd225252"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 64 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/main.dart","positions":{"begin":{"line":96,"column":3},"end":{"line":161,"column":4}}},"severity":"info","fingerprint":"9ab7638610624e78ab535435aaf35b84"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 55 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/send_location_dialog.dart","positions":{"begin":{"line":88,"column":3},"end":{"line":144,"column":4}}},"severity":"info","fingerprint":"63da6dd552730e31bedb968ac80f22a6"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 21, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/new_group.dart","positions":{"begin":{"line":21,"column":3},"end":{"line":49,"column":4}}},"severity":"info","fingerprint":"5a2c3036afe59ccbaa24d19bf2d90cd1"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/invitation_selection.dart","positions":{"begin":{"line":90,"column":71},"end":{"line":90,"column":73}}},"severity":"minor","fingerprint":"daa3a8a7f503c9211319d9dfc230c930"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/pages/recording_dialog.dart","positions":{"begin":{"line":48,"column":61},"end":{"line":53,"column":8}}},"severity":"minor","fingerprint":"b22c6c1ea05f36cdcec0c5ce24fb8f7b"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 97 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/recording_dialog.dart","positions":{"begin":{"line":75,"column":3},"end":{"line":173,"column":4}}},"severity":"info","fingerprint":"8c2a89c5493e76ed1cb0b6f4cd30c2cf"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/pages/key_verification_dialog.dart","positions":{"begin":{"line":158,"column":11},"end":{"line":161,"column":12}}},"severity":"minor","fingerprint":"13087dd27c8c5136b136ba39be13c278"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/pages/key_verification_dialog.dart","positions":{"begin":{"line":210,"column":11},"end":{"line":214,"column":12}}},"severity":"minor","fingerprint":"af61834b6c0c25ed246a55b0251da719"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/pages/key_verification_dialog.dart","positions":{"begin":{"line":240,"column":13},"end":{"line":252,"column":14}}},"severity":"minor","fingerprint":"e660396c3039c566d5f5eebc507e72dc"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 265 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/key_verification_dialog.dart","positions":{"begin":{"line":108,"column":3},"end":{"line":378,"column":4}}},"severity":"info","fingerprint":"3e7fcda7b05295e65d2f31e3f668d6e3"},{"type":"issue","check_name":"maintainability-index","description":"","categories":["Complexity"],"location":{"path":"lib/pages/key_verification_dialog.dart","positions":{"begin":{"line":108,"column":3},"end":{"line":378,"column":4}}},"severity":"info","fingerprint":"305e7f666b4fca202d59cf2fcb4853b4"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/search.dart","positions":{"begin":{"line":118,"column":71},"end":{"line":118,"column":73}}},"severity":"minor","fingerprint":"275a70a8ee9cf93b6f06e0eb18c7d4ad"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/send_file_dialog.dart","positions":{"begin":{"line":31,"column":45},"end":{"line":31,"column":49}}},"severity":"minor","fingerprint":"d4f37f66837a2ec6ca99f7e20af553ca"},{"type":"issue","check_name":"prefer-conditional-expressions","description":"Prefer conditional expression","categories":["Style"],"location":{"path":"lib/pages/send_file_dialog.dart","positions":{"begin":{"line":50,"column":5},"end":{"line":75,"column":6}}},"severity":"minor","fingerprint":"51c501af3ac00af35b20b4de5b2889e8"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 60 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/send_file_dialog.dart","positions":{"begin":{"line":40,"column":3},"end":{"line":102,"column":4}}},"severity":"info","fingerprint":"134e8e35fd30851c91da32a91704b90d"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/image_viewer.dart","positions":{"begin":{"line":34,"column":48},"end":{"line":34,"column":52}}},"severity":"minor","fingerprint":"a1bba437d14d81eeaff9162dee456618"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/pages/settings_security.dart","positions":{"begin":{"line":70,"column":11},"end":{"line":75,"column":12}}},"severity":"minor","fingerprint":"391361367c8d8476f8d8ad8ebba5c5cb"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/views/user_bottom_sheet_view.dart","positions":{"begin":{"line":26,"column":75},"end":{"line":26,"column":78}}},"severity":"minor","fingerprint":"94c3df8cd6b1d02aa30731c934f90bbe"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/views/user_bottom_sheet_view.dart","positions":{"begin":{"line":28,"column":22},"end":{"line":28,"column":23}}},"severity":"minor","fingerprint":"0cf00ffe58d18b3fec81beab23b9e33e"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/views/user_bottom_sheet_view.dart","positions":{"begin":{"line":35,"column":75},"end":{"line":35,"column":78}}},"severity":"minor","fingerprint":"6cff91774d688eb16ee9ef2e7200fbd0"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 113 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/user_bottom_sheet_view.dart","positions":{"begin":{"line":19,"column":3},"end":{"line":133,"column":4}}},"severity":"info","fingerprint":"28fe602171c7986465e13f87afcc57f9"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 113 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/chat_permissions_settings_view.dart","positions":{"begin":{"line":18,"column":3},"end":{"line":133,"column":4}}},"severity":"info","fingerprint":"c111a846d38a40c44c73006f3bdf07be"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 52 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/settings_chat_view.dart","positions":{"begin":{"line":17,"column":3},"end":{"line":70,"column":4}}},"severity":"info","fingerprint":"de4ba22106db99fd589df78dace30ee3"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 46, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/search_view.dart","positions":{"begin":{"line":21,"column":3},"end":{"line":285,"column":4}}},"severity":"info","fingerprint":"0a18681325cf485a71de66a124914aa9"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 260 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/search_view.dart","positions":{"begin":{"line":21,"column":3},"end":{"line":285,"column":4}}},"severity":"info","fingerprint":"abcdb354f7812d94e800fdeef94e6769"},{"type":"issue","check_name":"maintainability-index","description":"","categories":["Complexity"],"location":{"path":"lib/pages/views/search_view.dart","positions":{"begin":{"line":21,"column":3},"end":{"line":285,"column":4}}},"severity":"info","fingerprint":"308f60ba2b5d5c09b0f44c7b53a6a2c8"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 59 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/settings_account_view.dart","positions":{"begin":{"line":17,"column":3},"end":{"line":77,"column":4}}},"severity":"info","fingerprint":"2cb842692fd9892b4c425246b312b96c"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/views/chat_list_view.dart","positions":{"begin":{"line":380,"column":64},"end":{"line":380,"column":65}}},"severity":"minor","fingerprint":"de6e60cfccc9da3e617e18e87362021e"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 30, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/chat_list_view.dart","positions":{"begin":{"line":80,"column":3},"end":{"line":414,"column":4}}},"severity":"info","fingerprint":"d6ee22a751bb63bd028608fed3ced593"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 333 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/chat_list_view.dart","positions":{"begin":{"line":80,"column":3},"end":{"line":414,"column":4}}},"severity":"info","fingerprint":"1e1ad2c97f18f074e124d6488c05302a"},{"type":"issue","check_name":"maintainability-index","description":"","categories":["Complexity"],"location":{"path":"lib/pages/views/chat_list_view.dart","positions":{"begin":{"line":80,"column":3},"end":{"line":414,"column":4}}},"severity":"info","fingerprint":"cad9ee92b60c3e190f566b37227ba960"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 75 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/chat_list_view.dart","positions":{"begin":{"line":422,"column":3},"end":{"line":496,"column":10}}},"severity":"info","fingerprint":"218f298d44c6d98069d1e729c03e7dac"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 69 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/invitation_selection_view.dart","positions":{"begin":{"line":18,"column":3},"end":{"line":88,"column":4}}},"severity":"info","fingerprint":"36aa582241809a7ec37aed8f61bf5742"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 100 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/settings_style_view.dart","positions":{"begin":{"line":16,"column":3},"end":{"line":117,"column":4}}},"severity":"info","fingerprint":"05d2ffecc70acfcb7a315b02112d9f92"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/views/homeserver_picker_view.dart","positions":{"begin":{"line":30,"column":25},"end":{"line":30,"column":26}}},"severity":"minor","fingerprint":"12b335d7ee7055de71820a802240b5ef"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/views/homeserver_picker_view.dart","positions":{"begin":{"line":223,"column":74},"end":{"line":223,"column":76}}},"severity":"minor","fingerprint":"d060c07b7e1a44288dfb7ebff7b2a7e9"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 172 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/homeserver_picker_view.dart","positions":{"begin":{"line":26,"column":3},"end":{"line":200,"column":4}}},"severity":"info","fingerprint":"52e13f526a106b32840e58d66a9ebda2"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 78 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/signup_view.dart","positions":{"begin":{"line":13,"column":3},"end":{"line":92,"column":4}}},"severity":"info","fingerprint":"4d78a2c04230888f7f0b70c97d41dc40"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 82 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/device_settings_view.dart","positions":{"begin":{"line":14,"column":3},"end":{"line":97,"column":4}}},"severity":"info","fingerprint":"33d078732820df198db0bd4fdcb01c44"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/views/image_viewer_view.dart","positions":{"begin":{"line":42,"column":19},"end":{"line":42,"column":23}}},"severity":"minor","fingerprint":"b1ad814d88ae34fd64af9db424ec732b"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 92 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/new_private_chat_view.dart","positions":{"begin":{"line":21,"column":3},"end":{"line":114,"column":4}}},"severity":"info","fingerprint":"d6a694bda975c319a09f7bbf75d9df6f"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 54 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/settings_security_view.dart","positions":{"begin":{"line":17,"column":3},"end":{"line":72,"column":4}}},"severity":"info","fingerprint":"f003d7b17f9785a742cf4655d0a352ef"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 103 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/settings_notifications_view.dart","positions":{"begin":{"line":20,"column":3},"end":{"line":124,"column":4}}},"severity":"info","fingerprint":"191d50090d7117fb5146628c46e87044"},{"type":"issue","check_name":"prefer-conditional-expressions","description":"Prefer conditional expression","categories":["Style"],"location":{"path":"lib/pages/views/settings_emotes_view.dart","positions":{"begin":{"line":250,"column":5},"end":{"line":257,"column":6}}},"severity":"minor","fingerprint":"6cb1cead5fd26b6d79d055a0bde13942"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 191 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/settings_emotes_view.dart","positions":{"begin":{"line":18,"column":3},"end":{"line":210,"column":4}}},"severity":"info","fingerprint":"dc48e6a2b5c87fd1dbe0a24983a29431"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 38, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/chat_details_view.dart","positions":{"begin":{"line":27,"column":3},"end":{"line":376,"column":4}}},"severity":"info","fingerprint":"6d932b5efe734bcc696cd8f05e65bd3a"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 347 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/chat_details_view.dart","positions":{"begin":{"line":27,"column":3},"end":{"line":376,"column":4}}},"severity":"info","fingerprint":"f3817467626f4a8bcd6c8b46e759cf93"},{"type":"issue","check_name":"maintainability-index","description":"","categories":["Complexity"],"location":{"path":"lib/pages/views/chat_details_view.dart","positions":{"begin":{"line":27,"column":3},"end":{"line":376,"column":4}}},"severity":"info","fingerprint":"29d1fb540f965d1907f70b365a3debbe"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 92 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/login_view.dart","positions":{"begin":{"line":14,"column":3},"end":{"line":107,"column":4}}},"severity":"info","fingerprint":"9cc7fd358f42c02f7bc6172285768409"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 77 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/settings_3pid_view.dart","positions":{"begin":{"line":14,"column":3},"end":{"line":92,"column":4}}},"severity":"info","fingerprint":"508bbe759b0a160e3798f0b0de118c0d"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 61 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/settings_view.dart","positions":{"begin":{"line":18,"column":3},"end":{"line":80,"column":4}}},"severity":"info","fingerprint":"7596e190eeaca61b8e683d1b90bbaf2b"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 161 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/chat_encryption_settings_view.dart","positions":{"begin":{"line":18,"column":3},"end":{"line":181,"column":4}}},"severity":"info","fingerprint":"24bf52c3e7bd7d28403991027b0c7679"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/views/chat_view.dart","positions":{"begin":{"line":839,"column":33},"end":{"line":839,"column":35}}},"severity":"minor","fingerprint":"ae9923f5633da7b129855f8e0125963d"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/views/chat_view.dart","positions":{"begin":{"line":852,"column":19},"end":{"line":852,"column":21}}},"severity":"minor","fingerprint":"ae9923f5633da7b129855f8e0125963d"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/pages/views/chat_view.dart","positions":{"begin":{"line":61,"column":7},"end":{"line":66,"column":8}}},"severity":"minor","fingerprint":"06aaccb9c118e3c5cab73b2999fc4f58"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 77, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/chat_view.dart","positions":{"begin":{"line":39,"column":3},"end":{"line":767,"column":4}}},"severity":"info","fingerprint":"fed4c1d41bbb33df43abb9a5925c7da5"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 719 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/chat_view.dart","positions":{"begin":{"line":39,"column":3},"end":{"line":767,"column":4}}},"severity":"info","fingerprint":"a08cc9ab5ccf7f42a8f6dff76e842589"},{"type":"issue","check_name":"maintainability-index","description":"","categories":["Complexity"],"location":{"path":"lib/pages/views/chat_view.dart","positions":{"begin":{"line":39,"column":3},"end":{"line":767,"column":4}}},"severity":"info","fingerprint":"fe531ad17406e4325349b19cc03fe6d7"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 33, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/chat_view.dart","positions":{"begin":{"line":821,"column":3},"end":{"line":857,"column":4}}},"severity":"info","fingerprint":"5ec10f38c69f17d2391e8d8055bb6834"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 25, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/settings_ignore_list_view.dart","positions":{"begin":{"line":17,"column":3},"end":{"line":93,"column":4}}},"severity":"info","fingerprint":"ac45062c41d54d77c93926a33d1ab3a4"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 75 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/views/settings_ignore_list_view.dart","positions":{"begin":{"line":17,"column":3},"end":{"line":93,"column":4}}},"severity":"info","fingerprint":"dbd1c6e4b94358a8bdd255fb1a001c1d"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/settings_emotes.dart","positions":{"begin":{"line":211,"column":43},"end":{"line":211,"column":47}}},"severity":"minor","fingerprint":"3367acdd67a680aa89ac5d41780c62fb"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/settings_emotes.dart","positions":{"begin":{"line":229,"column":25},"end":{"line":229,"column":28}}},"severity":"minor","fingerprint":"4756b4c1c464959a213c96a62ad272e9"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/settings_emotes.dart","positions":{"begin":{"line":230,"column":26},"end":{"line":230,"column":31}}},"severity":"minor","fingerprint":"7826da1e97cc797cd5538696a5072151"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/settings_emotes.dart","positions":{"begin":{"line":232,"column":25},"end":{"line":232,"column":28}}},"severity":"minor","fingerprint":"4756b4c1c464959a213c96a62ad272e9"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/settings_emotes.dart","positions":{"begin":{"line":233,"column":34},"end":{"line":233,"column":39}}},"severity":"minor","fingerprint":"7826da1e97cc797cd5538696a5072151"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/chat_details.dart","positions":{"begin":{"line":301,"column":14},"end":{"line":301,"column":19}}},"severity":"minor","fingerprint":"72b7db62a3da8ccac38c178ca7f820ce"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 84 lines with code.","categories":[],"location":{"path":"lib/pages/chat_details.dart","positions":{"begin":{"line":60,"column":3},"end":{"line":157,"column":4}}},"severity":"info","fingerprint":"37a09a2bfc000dd09d394f5250d18b6f"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 84 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/chat_details.dart","positions":{"begin":{"line":60,"column":3},"end":{"line":157,"column":4}}},"severity":"info","fingerprint":"0171e21b05bc4d221c55e6c7dcd1bfb5"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/pages/chat.dart","positions":{"begin":{"line":555,"column":37},"end":{"line":587,"column":8}}},"severity":"minor","fingerprint":"cbe2e518c580d480ba8fc6b683f533bd"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/pages/chat.dart","positions":{"begin":{"line":767,"column":56},"end":{"line":771,"column":6}}},"severity":"minor","fingerprint":"a6c117fd834c7afe128d253d741fe3bd"},{"type":"issue","check_name":"prefer-extracting-callbacks","description":"Prefer extracting the callback to a separate widget method.","categories":["Style"],"location":{"path":"lib/pages/chat.dart","positions":{"begin":{"line":772,"column":58},"end":{"line":775,"column":6}}},"severity":"minor","fingerprint":"850b883d351de25909417db850dcc2c5"},{"type":"issue","check_name":"maximum-nesting-level","description":"This method has a nesting level of 6, which exceeds the maximum of 5 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/chat.dart","positions":{"begin":{"line":457,"column":3},"end":{"line":490,"column":4}}},"severity":"info","fingerprint":"1f103a7731b24f4c13f32f445139ffc3"},{"type":"issue","check_name":"maximum-nesting-level","description":"This method has a nesting level of 6, which exceeds the maximum of 5 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/chat.dart","positions":{"begin":{"line":550,"column":3},"end":{"line":600,"column":4}}},"severity":"info","fingerprint":"bc89819bb2de2efa9575a8e2a137bc78"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/pages/user_bottom_sheet.dart","positions":{"begin":{"line":78,"column":32},"end":{"line":78,"column":35}}},"severity":"minor","fingerprint":"a340987b48c3b96c5089d2287ed78417"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 65 lines with code.","categories":[],"location":{"path":"lib/pages/user_bottom_sheet.dart","positions":{"begin":{"line":30,"column":3},"end":{"line":97,"column":4}}},"severity":"info","fingerprint":"e8f648010eb75c35ad277b349f67edb0"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 65 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/user_bottom_sheet.dart","positions":{"begin":{"line":30,"column":3},"end":{"line":97,"column":4}}},"severity":"info","fingerprint":"3492e8797d90d3d480aecafb467a3240"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 25, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/bootstrap_dialog.dart","positions":{"begin":{"line":70,"column":3},"end":{"line":346,"column":4}}},"severity":"info","fingerprint":"8a40222a89b16cbe5db6ed1fb453b42e"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 272 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/bootstrap_dialog.dart","positions":{"begin":{"line":70,"column":3},"end":{"line":346,"column":4}}},"severity":"info","fingerprint":"cd5e5cfa99567f47eaa5f37d771d0efb"},{"type":"issue","check_name":"maintainability-index","description":"","categories":["Complexity"],"location":{"path":"lib/pages/bootstrap_dialog.dart","positions":{"begin":{"line":70,"column":3},"end":{"line":346,"column":4}}},"severity":"info","fingerprint":"30521ad4490c8c1269433dcd4aafc9ef"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 58 lines with code.","categories":[],"location":{"path":"lib/pages/settings.dart","positions":{"begin":{"line":39,"column":3},"end":{"line":98,"column":4}}},"severity":"info","fingerprint":"13f78f30b16ebc34169c35967b8a8dde"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 53 lines with code.","categories":[],"location":{"path":"lib/pages/settings.dart","positions":{"begin":{"line":100,"column":3},"end":{"line":156,"column":4}}},"severity":"info","fingerprint":"b26d754051734ff3b231fb0dd34bc28e"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 58 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/settings.dart","positions":{"begin":{"line":39,"column":3},"end":{"line":98,"column":4}}},"severity":"info","fingerprint":"434371e1fd27af19e9093779763c2d3a"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 53 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/settings.dart","positions":{"begin":{"line":100,"column":3},"end":{"line":156,"column":4}}},"severity":"info","fingerprint":"51519ce3f75db129d4c6f06efe704904"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 56 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/permission_slider_dialog.dart","positions":{"begin":{"line":39,"column":3},"end":{"line":96,"column":4}}},"severity":"info","fingerprint":"e83c6480d606759349e7330aa09a52df"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 60 lines with code.","categories":[],"location":{"path":"lib/pages/login.dart","positions":{"begin":{"line":99,"column":3},"end":{"line":163,"column":4}}},"severity":"info","fingerprint":"a781d23ea37f463ab9c9cee6d1c0d23a"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 69 lines with code.","categories":[],"location":{"path":"lib/pages/login.dart","positions":{"begin":{"line":165,"column":3},"end":{"line":235,"column":4}}},"severity":"info","fingerprint":"11d365e553e1635e92094866254342e2"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 60 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/login.dart","positions":{"begin":{"line":99,"column":3},"end":{"line":163,"column":4}}},"severity":"info","fingerprint":"8fd799ff42a5f417e16cddcd32e86044"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 69 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/login.dart","positions":{"begin":{"line":165,"column":3},"end":{"line":235,"column":4}}},"severity":"info","fingerprint":"8f232569be9488f03f62f19f542f4d09"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 25, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/sticker_picker_dialog.dart","positions":{"begin":{"line":23,"column":3},"end":{"line":133,"column":4}}},"severity":"info","fingerprint":"24143b9b49554f4a5a03c8493e8d570d"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 104 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/pages/sticker_picker_dialog.dart","positions":{"begin":{"line":23,"column":3},"end":{"line":133,"column":4}}},"severity":"info","fingerprint":"4126d01702c6cfe208e5fadb4e49bbb7"},{"type":"issue","check_name":"long-method","description":"Long getter. This getter contains 53 lines with code.","categories":[],"location":{"path":"lib/config/routes.dart","positions":{"begin":{"line":45,"column":3},"end":{"line":97,"column":9}}},"severity":"info","fingerprint":"b1c9b7555647288ef9934b2c42032d00"},{"type":"issue","check_name":"long-method","description":"Long getter. This getter contains 113 lines with code.","categories":[],"location":{"path":"lib/config/routes.dart","positions":{"begin":{"line":98,"column":3},"end":{"line":210,"column":9}}},"severity":"info","fingerprint":"07f9d010952bfa71af53e76f6dd8585d"},{"type":"issue","check_name":"long-method","description":"Long getter. This getter contains 75 lines with code.","categories":[],"location":{"path":"lib/config/routes.dart","positions":{"begin":{"line":266,"column":3},"end":{"line":340,"column":9}}},"severity":"info","fingerprint":"fe06ae8c14451b7cacaf517c60496839"},{"type":"issue","check_name":"source-lines-of-code","description":"This getter has 53 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/config/routes.dart","positions":{"begin":{"line":45,"column":3},"end":{"line":97,"column":9}}},"severity":"info","fingerprint":"b925d6f6eae9d6d9da8bb5f2899b8ad4"},{"type":"issue","check_name":"source-lines-of-code","description":"This getter has 113 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/config/routes.dart","positions":{"begin":{"line":98,"column":3},"end":{"line":210,"column":9}}},"severity":"info","fingerprint":"c001bc2c37a3640ef7485397b59b843d"},{"type":"issue","check_name":"source-lines-of-code","description":"This getter has 75 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/config/routes.dart","positions":{"begin":{"line":266,"column":3},"end":{"line":340,"column":9}}},"severity":"info","fingerprint":"fcab3eb72cf0c360c4a51787a504bea3"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/config/themes.dart","positions":{"begin":{"line":12,"column":57},"end":{"line":12,"column":58}}},"severity":"minor","fingerprint":"cd56a112b7520ac56650440088ffe534"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/config/themes.dart","positions":{"begin":{"line":219,"column":53},"end":{"line":219,"column":55}}},"severity":"minor","fingerprint":"6597f0718f9be83e04d66b1a138f651f"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/config/themes.dart","positions":{"begin":{"line":228,"column":54},"end":{"line":228,"column":56}}},"severity":"minor","fingerprint":"6597f0718f9be83e04d66b1a138f651f"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/url_launcher.dart","positions":{"begin":{"line":47,"column":31},"end":{"line":47,"column":32}}},"severity":"minor","fingerprint":"b3094e6874a8013a6777c06c05752d10"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 82 lines with code.","categories":[],"location":{"path":"lib/utils/url_launcher.dart","positions":{"begin":{"line":86,"column":3},"end":{"line":178,"column":4}}},"severity":"info","fingerprint":"bc3ba3c00c41e68e6258f20264698d15"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 25, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/utils/url_launcher.dart","positions":{"begin":{"line":86,"column":3},"end":{"line":178,"column":4}}},"severity":"info","fingerprint":"355a9a4011411e426f1fed46e19cc87d"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 82 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/utils/url_launcher.dart","positions":{"begin":{"line":86,"column":3},"end":{"line":178,"column":4}}},"severity":"info","fingerprint":"2024ea7bbddb954412e9b93125cdd673"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/background_push.dart","positions":{"begin":{"line":143,"column":30},"end":{"line":143,"column":32}}},"severity":"minor","fingerprint":"46dfa3d21a533365a6f794b637137159"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/background_push.dart","positions":{"begin":{"line":144,"column":46},"end":{"line":144,"column":48}}},"severity":"minor","fingerprint":"46dfa3d21a533365a6f794b637137159"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/background_push.dart","positions":{"begin":{"line":444,"column":46},"end":{"line":444,"column":48}}},"severity":"minor","fingerprint":"18b9b0bdf05c5b9972a42dabbe883bcf"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 79 lines with code.","categories":[],"location":{"path":"lib/utils/background_push.dart","positions":{"begin":{"line":122,"column":3},"end":{"line":210,"column":4}}},"severity":"info","fingerprint":"7a8373c2fa39a980a36ffb23c64842e3"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 57 lines with code.","categories":[],"location":{"path":"lib/utils/background_push.dart","positions":{"begin":{"line":401,"column":3},"end":{"line":459,"column":4}}},"severity":"info","fingerprint":"5992515f3fb41a02cf1983a78df8b0f4"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 72 lines with code.","categories":[],"location":{"path":"lib/utils/background_push.dart","positions":{"begin":{"line":498,"column":3},"end":{"line":573,"column":4}}},"severity":"info","fingerprint":"fd03c280453f38c9c7f8a1e5457ab6ad"},{"type":"issue","check_name":"long-method","description":"Long method. This method contains 65 lines with code.","categories":[],"location":{"path":"lib/utils/background_push.dart","positions":{"begin":{"line":575,"column":3},"end":{"line":653,"column":4}}},"severity":"info","fingerprint":"fbefff64140869f6963af2e1c40841d8"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 28, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/utils/background_push.dart","positions":{"begin":{"line":122,"column":3},"end":{"line":210,"column":4}}},"severity":"info","fingerprint":"fe290f177dbdeb393832d93c6dea2ff2"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 79 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/utils/background_push.dart","positions":{"begin":{"line":122,"column":3},"end":{"line":210,"column":4}}},"severity":"info","fingerprint":"b6fbf01b40b7a927206cae2b9bd0253f"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 57 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/utils/background_push.dart","positions":{"begin":{"line":401,"column":3},"end":{"line":459,"column":4}}},"severity":"info","fingerprint":"836a655711ebcf524edc95fe971405ba"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 72 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/utils/background_push.dart","positions":{"begin":{"line":498,"column":3},"end":{"line":573,"column":4}}},"severity":"info","fingerprint":"999841d65a3e2a29e7e49b28eb02aafe"},{"type":"issue","check_name":"source-lines-of-code","description":"This method has 65 source lines of code, exceeds the maximum of 50 allowed.","categories":["Complexity"],"location":{"path":"lib/utils/background_push.dart","positions":{"begin":{"line":575,"column":3},"end":{"line":653,"column":4}}},"severity":"info","fingerprint":"babb23d9057d0339b3f87ee468c0ffa6"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/flutter_matrix_hive_database.dart","positions":{"begin":{"line":94,"column":48},"end":{"line":94,"column":51}}},"severity":"minor","fingerprint":"75a6f8e9dc2364a98f2015ce2b325dbf"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/flutter_matrix_hive_database.dart","positions":{"begin":{"line":94,"column":54},"end":{"line":94,"column":58}}},"severity":"minor","fingerprint":"43a6cdeae2c5d86c11fe1cd0963b9a29"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/flutter_matrix_hive_database.dart","positions":{"begin":{"line":94,"column":61},"end":{"line":94,"column":65}}},"severity":"minor","fingerprint":"43a6cdeae2c5d86c11fe1cd0963b9a29"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/event_extension.dart","positions":{"begin":{"line":26,"column":12},"end":{"line":26,"column":13}}},"severity":"minor","fingerprint":"5fafd376471236e059d300be8745c113"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/event_extension.dart","positions":{"begin":{"line":52,"column":18},"end":{"line":52,"column":25}}},"severity":"minor","fingerprint":"12892dedea92f9a28d48f9dc41403227"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/event_extension.dart","positions":{"begin":{"line":53,"column":23},"end":{"line":53,"column":27}}},"severity":"minor","fingerprint":"70b042d3fa0129fd2996bf13b46ddb68"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/event_extension.dart","positions":{"begin":{"line":54,"column":24},"end":{"line":54,"column":26}}},"severity":"minor","fingerprint":"59337cfe1cc223f38fcca3975a7e922e"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/event_extension.dart","positions":{"begin":{"line":54,"column":38},"end":{"line":54,"column":40}}},"severity":"minor","fingerprint":"59337cfe1cc223f38fcca3975a7e922e"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/event_extension.dart","positions":{"begin":{"line":56,"column":25},"end":{"line":56,"column":35}}},"severity":"minor","fingerprint":"edd88dac594fc23173e68db3f8d56239"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/event_extension.dart","positions":{"begin":{"line":57,"column":23},"end":{"line":57,"column":30}}},"severity":"minor","fingerprint":"12892dedea92f9a28d48f9dc41403227"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/event_extension.dart","positions":{"begin":{"line":58,"column":24},"end":{"line":58,"column":26}}},"severity":"minor","fingerprint":"59337cfe1cc223f38fcca3975a7e922e"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/event_extension.dart","positions":{"begin":{"line":58,"column":38},"end":{"line":58,"column":40}}},"severity":"minor","fingerprint":"59337cfe1cc223f38fcca3975a7e922e"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/event_extension.dart","positions":{"begin":{"line":61,"column":23},"end":{"line":61,"column":33}}},"severity":"minor","fingerprint":"edd88dac594fc23173e68db3f8d56239"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/event_extension.dart","positions":{"begin":{"line":62,"column":24},"end":{"line":62,"column":26}}},"severity":"minor","fingerprint":"59337cfe1cc223f38fcca3975a7e922e"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/event_extension.dart","positions":{"begin":{"line":62,"column":38},"end":{"line":62,"column":40}}},"severity":"minor","fingerprint":"59337cfe1cc223f38fcca3975a7e922e"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/matrix_file_extension.dart","positions":{"begin":{"line":46,"column":16},"end":{"line":46,"column":23}}},"severity":"minor","fingerprint":"d23784d7baa352efcdeb6ee7cd1028fa"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/matrix_file_extension.dart","positions":{"begin":{"line":47,"column":21},"end":{"line":47,"column":25}}},"severity":"minor","fingerprint":"fe80de963d8848e38afbd13a7e123244"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/matrix_file_extension.dart","positions":{"begin":{"line":48,"column":22},"end":{"line":48,"column":24}}},"severity":"minor","fingerprint":"9a2a1c11140665bfafd369eed9ab4399"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/matrix_file_extension.dart","positions":{"begin":{"line":48,"column":36},"end":{"line":48,"column":38}}},"severity":"minor","fingerprint":"9a2a1c11140665bfafd369eed9ab4399"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/matrix_file_extension.dart","positions":{"begin":{"line":50,"column":23},"end":{"line":50,"column":33}}},"severity":"minor","fingerprint":"4dfc439490328aab53d882e696633321"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/matrix_file_extension.dart","positions":{"begin":{"line":51,"column":21},"end":{"line":51,"column":28}}},"severity":"minor","fingerprint":"d23784d7baa352efcdeb6ee7cd1028fa"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/matrix_file_extension.dart","positions":{"begin":{"line":52,"column":22},"end":{"line":52,"column":24}}},"severity":"minor","fingerprint":"9a2a1c11140665bfafd369eed9ab4399"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/matrix_file_extension.dart","positions":{"begin":{"line":52,"column":36},"end":{"line":52,"column":38}}},"severity":"minor","fingerprint":"9a2a1c11140665bfafd369eed9ab4399"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/matrix_file_extension.dart","positions":{"begin":{"line":55,"column":21},"end":{"line":55,"column":31}}},"severity":"minor","fingerprint":"4dfc439490328aab53d882e696633321"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/matrix_file_extension.dart","positions":{"begin":{"line":56,"column":22},"end":{"line":56,"column":24}}},"severity":"minor","fingerprint":"9a2a1c11140665bfafd369eed9ab4399"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/matrix_file_extension.dart","positions":{"begin":{"line":56,"column":36},"end":{"line":56,"column":38}}},"severity":"minor","fingerprint":"9a2a1c11140665bfafd369eed9ab4399"},{"type":"issue","check_name":"cyclomatic-complexity","description":"This method has a cyclomatic complexity of 22, which exceeds the maximum of 20 allowed.","categories":["Complexity"],"location":{"path":"lib/utils/matrix_sdk_extensions.dart/filtered_timeline_extension.dart","positions":{"begin":{"line":6,"column":3},"end":{"line":44,"column":4}}},"severity":"info","fingerprint":"6515390f0c31ec0bc389c166408df5fc"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":31,"column":9},"end":{"line":31,"column":13}}},"severity":"minor","fingerprint":"9b562b9081fcc2a85f82baad8be8b32f"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":31,"column":16},"end":{"line":31,"column":18}}},"severity":"minor","fingerprint":"016e147b4c96ae18b087ae90e5164beb"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":40,"column":27},"end":{"line":40,"column":29}}},"severity":"minor","fingerprint":"23cff642c2014dea39542abb8d080413"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":40,"column":37},"end":{"line":40,"column":39}}},"severity":"minor","fingerprint":"23cff642c2014dea39542abb8d080413"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":40,"column":49},"end":{"line":40,"column":51}}},"severity":"minor","fingerprint":"23cff642c2014dea39542abb8d080413"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":40,"column":77},"end":{"line":40,"column":79}}},"severity":"minor","fingerprint":"ae69c10a45777ccee53dd0ed3142e80c"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":64,"column":14},"end":{"line":64,"column":15}}},"severity":"minor","fingerprint":"35e8ff14c41bcb6fbb62b16dfde9ac72"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":66,"column":14},"end":{"line":66,"column":15}}},"severity":"minor","fingerprint":"bf5cfc1b873df2722b01aa0b289e973c"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":68,"column":14},"end":{"line":68,"column":15}}},"severity":"minor","fingerprint":"de49826e746684708a05ef127b5b4d8d"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":70,"column":14},"end":{"line":70,"column":15}}},"severity":"minor","fingerprint":"ab8e52e7e835ba1f73ac4c6669e96daf"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":72,"column":14},"end":{"line":72,"column":15}}},"severity":"minor","fingerprint":"90d82466b0a72eaf40458f1226cd0ece"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":74,"column":14},"end":{"line":74,"column":15}}},"severity":"minor","fingerprint":"6643a4fe624100e4562fe8fac14c67df"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":79,"column":36},"end":{"line":79,"column":37}}},"severity":"minor","fingerprint":"35e8ff14c41bcb6fbb62b16dfde9ac72"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":79,"column":68},"end":{"line":79,"column":69}}},"severity":"minor","fingerprint":"35e8ff14c41bcb6fbb62b16dfde9ac72"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":82,"column":34},"end":{"line":82,"column":35}}},"severity":"minor","fingerprint":"35e8ff14c41bcb6fbb62b16dfde9ac72"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":82,"column":66},"end":{"line":82,"column":67}}},"severity":"minor","fingerprint":"35e8ff14c41bcb6fbb62b16dfde9ac72"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":100,"column":34},"end":{"line":100,"column":36}}},"severity":"minor","fingerprint":"858ca5c87aa85ca09ef68606d486f840"},{"type":"issue","check_name":"prefer-conditional-expressions","description":"Prefer conditional expression","categories":["Style"],"location":{"path":"lib/utils/date_time_extension.dart","positions":{"begin":{"line":37,"column":5},"end":{"line":41,"column":6}}},"severity":"minor","fingerprint":"de6c632b571875433da0fa32abdf3abd"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/platform_infos.dart","positions":{"begin":{"line":64,"column":62},"end":{"line":64,"column":64}}},"severity":"minor","fingerprint":"1dbc6c99187adb2060b77831b06c402c"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/platform_infos.dart","positions":{"begin":{"line":64,"column":74},"end":{"line":64,"column":76}}},"severity":"minor","fingerprint":"1dbc6c99187adb2060b77831b06c402c"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/beautify_string_extension.dart","positions":{"begin":{"line":6,"column":15},"end":{"line":6,"column":16}}},"severity":"minor","fingerprint":"ac1add3a24201c659429f5d0b342e2c9"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/beautify_string_extension.dart","positions":{"begin":{"line":6,"column":20},"end":{"line":6,"column":21}}},"severity":"minor","fingerprint":"41b0d076a4b9fff2c058aa4902409bf8"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/beautify_string_extension.dart","positions":{"begin":{"line":9,"column":15},"end":{"line":9,"column":17}}},"severity":"minor","fingerprint":"0acec2d393a522eb1496f48cc65591b4"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/beautify_string_extension.dart","positions":{"begin":{"line":9,"column":21},"end":{"line":9,"column":23}}},"severity":"minor","fingerprint":"2ed72fb20a16f3b920fd7204b473c1e5"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/room_send_file_extension.dart","positions":{"begin":{"line":36,"column":43},"end":{"line":36,"column":44}}},"severity":"minor","fingerprint":"b60252f001dd94df12a0fdb9a3f68e69"},{"type":"issue","check_name":"long-parameter-list","description":"Long Parameter List. This method require 5 arguments.","categories":[],"location":{"path":"lib/utils/room_send_file_extension.dart","positions":{"begin":{"line":24,"column":3},"end":{"line":52,"column":4}}},"severity":"info","fingerprint":"0f8c13afb7ef588a90937fcff12bdbed"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/room_status_extension.dart","positions":{"begin":{"line":54,"column":38},"end":{"line":54,"column":39}}},"severity":"minor","fingerprint":"3923e6857f4e2bdcdd8cef0896312a9a"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/room_status_extension.dart","positions":{"begin":{"line":58,"column":37},"end":{"line":58,"column":38}}},"severity":"minor","fingerprint":"3923e6857f4e2bdcdd8cef0896312a9a"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/room_status_extension.dart","positions":{"begin":{"line":89,"column":41},"end":{"line":89,"column":42}}},"severity":"minor","fingerprint":"3923e6857f4e2bdcdd8cef0896312a9a"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/room_status_extension.dart","positions":{"begin":{"line":93,"column":40},"end":{"line":93,"column":41}}},"severity":"minor","fingerprint":"3923e6857f4e2bdcdd8cef0896312a9a"},{"type":"issue","check_name":"no-empty-block","description":"Block is empty. Empty blocks are often indicators of missing code.","categories":["Style"],"location":{"path":"lib/utils/ui_fake.dart","positions":{"begin":{"line":3,"column":57},"end":{"line":3,"column":59}}},"severity":"minor","fingerprint":"35b034ecab5396ce8952bb51de748a03"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/string_color.dart","positions":{"begin":{"line":9,"column":24},"end":{"line":9,"column":26}}},"severity":"minor","fingerprint":"c2d195b033e55a78849180d6b6adbdc4"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/string_color.dart","positions":{"begin":{"line":9,"column":30},"end":{"line":9,"column":34}}},"severity":"minor","fingerprint":"de527e4d4e7014ec12be4cea03b1897c"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/string_color.dart","positions":{"begin":{"line":10,"column":44},"end":{"line":10,"column":48}}},"severity":"minor","fingerprint":"7e7c4435d717ba34d9f20da90071ed8e"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/string_color.dart","positions":{"begin":{"line":18,"column":24},"end":{"line":18,"column":26}}},"severity":"minor","fingerprint":"c2d195b033e55a78849180d6b6adbdc4"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/string_color.dart","positions":{"begin":{"line":18,"column":30},"end":{"line":18,"column":34}}},"severity":"minor","fingerprint":"de527e4d4e7014ec12be4cea03b1897c"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/string_color.dart","positions":{"begin":{"line":19,"column":44},"end":{"line":19,"column":47}}},"severity":"minor","fingerprint":"5a6fc8c0196063b5a96aec8cafa7aefe"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/string_color.dart","positions":{"begin":{"line":27,"column":24},"end":{"line":27,"column":26}}},"severity":"minor","fingerprint":"c2d195b033e55a78849180d6b6adbdc4"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/string_color.dart","positions":{"begin":{"line":27,"column":30},"end":{"line":27,"column":34}}},"severity":"minor","fingerprint":"de527e4d4e7014ec12be4cea03b1897c"},{"type":"issue","check_name":"no-magic-number","description":"Avoid using magic numbers. Extract them to named constants or variables.","categories":["Style"],"location":{"path":"lib/utils/string_color.dart","positions":{"begin":{"line":28,"column":44},"end":{"line":28,"column":47}}},"severity":"minor","fingerprint":"b56b784c6408cfc95676d133a7c75e4a"}] diff --git a/lib/pages/chat.dart b/lib/pages/chat.dart index bf6fe0c8..f4756d5c 100644 --- a/lib/pages/chat.dart +++ b/lib/pages/chat.dart @@ -601,7 +601,7 @@ class ChatController extends State { void scrollDown() => scrollController.jumpTo(0); - void onEmojiSelected(category, emoji) { + void onEmojiSelected(_, emoji) { setState(() => showEmojiPicker = false); if (emoji == null) return; // make sure we don't send the same emoji twice @@ -721,7 +721,7 @@ class ChatController extends State { return index + 1; } - void onInputBarSubmitted(String text) { + void onInputBarSubmitted(_) { send(); FocusScope.of(context).requestFocus(inputFocus); } diff --git a/lib/pages/homeserver_picker.dart b/lib/pages/homeserver_picker.dart index f416e6fb..3de8d780 100644 --- a/lib/pages/homeserver_picker.dart +++ b/lib/pages/homeserver_picker.dart @@ -92,6 +92,7 @@ class HomeserverPickerController extends State { if (token != null) _loginWithToken(token); }); } + checkHomeserverAction(); } @override @@ -104,7 +105,7 @@ class HomeserverPickerController extends State { /// makes sure that it is prefixed with https. Then it searches for the /// well-known information and forwards to the login page depending on the /// login type. - void checkHomeserverAction() async { + Future checkHomeserverAction() async { _coolDown?.cancel(); try { if (domain.isEmpty) throw L10n.of(context).changeTheHomeserver; @@ -220,15 +221,9 @@ class HomeserverPickerController extends State { void signUpAction() => VRouter.of(context).to('signup'); - bool _initialized = false; - @override Widget build(BuildContext context) { Matrix.of(context).navigatorContext = context; - if (!_initialized) { - _initialized = true; - checkHomeserverAction(); - } return HomeserverPickerView(this); } } diff --git a/lib/pages/recording_dialog.dart b/lib/pages/recording_dialog.dart index a657eb3e..2fe49abd 100644 --- a/lib/pages/recording_dialog.dart +++ b/lib/pages/recording_dialog.dart @@ -28,7 +28,7 @@ class _RecordingDialogState extends State { final _audioRecorder = Record(); Amplitude _amplitude; - void startRecording() async { + Future startRecording() async { try { final tempDir = await getTemporaryDirectory(); _recordedPath = diff --git a/lib/pages/search.dart b/lib/pages/search.dart index d4ffb8ae..1cc05f2c 100644 --- a/lib/pages/search.dart +++ b/lib/pages/search.dart @@ -124,7 +124,7 @@ class SearchController extends State { 'user_id': text, })); } - setState(() {}); + setState(() => null); } bool _init = false; diff --git a/lib/pages/views/search_view.dart b/lib/pages/views/search_view.dart index 72098ce5..6dea7ab2 100644 --- a/lib/pages/views/search_view.dart +++ b/lib/pages/views/search_view.dart @@ -63,8 +63,9 @@ class SearchView extends StatelessWidget { .toLowerCase() .contains(controller.controller.text.toLowerCase()), ); + const tabCount = 3; return DefaultTabController( - length: 3, + length: tabCount, initialIndex: controller.controller.text?.startsWith('#') ?? false ? 0 : 1, child: Scaffold( @@ -171,7 +172,8 @@ class SearchView extends StatelessWidget { shrinkWrap: true, padding: const EdgeInsets.all(12), physics: const NeverScrollableScrollPhysics(), - gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( + gridDelegate: + const SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 2, childAspectRatio: 1, crossAxisSpacing: 16, diff --git a/lib/utils/background_push.dart b/lib/utils/background_push.dart index f923cb79..131b6875 100644 --- a/lib/utils/background_push.dart +++ b/lib/utils/background_push.dart @@ -105,13 +105,9 @@ class BackgroundPush { return instance; } - Future fullInit() async { - await setupPush(); - } + Future fullInit() => setupPush(); - void handleLoginStateChanged(LoginState state) { - setupPush(); - } + void handleLoginStateChanged(_) => setupPush(); void _newFcmToken(String token) { _fcmToken = token; diff --git a/lib/utils/resize_image.dart b/lib/utils/resize_image.dart index 1522f463..08e0d0aa 100644 --- a/lib/utils/resize_image.dart +++ b/lib/utils/resize_image.dart @@ -6,8 +6,10 @@ import 'package:native_imaging/native_imaging.dart' as native; import 'run_in_background.dart'; +const int defaultMax = 800; + Future resizeImage(MatrixImageFile file, - {int max = 800}) async { + {int max = defaultMax}) async { // we want to resize the image in a separate isolate, because otherwise that can // freeze up the UI a bit diff --git a/lib/utils/ui_fake.dart b/lib/utils/ui_fake.dart index 46c8a743..c2094e7c 100644 --- a/lib/utils/ui_fake.dart +++ b/lib/utils/ui_fake.dart @@ -1,4 +1,4 @@ // ignore: camel_case_types class platformViewRegistry { - static void registerViewFactory(String viewId, dynamic cb) {} + static void registerViewFactory(String _, dynamic __) {} } diff --git a/lib/utils/url_launcher.dart b/lib/utils/url_launcher.dart index 9d11c7a5..9902e600 100644 --- a/lib/utils/url_launcher.dart +++ b/lib/utils/url_launcher.dart @@ -83,7 +83,7 @@ class UrlLauncher { launch(uri.replace(host: newHost).toString()); } - void openMatrixToUrl([bool startDirectChat = false]) async { + void openMatrixToUrl() async { final matrix = Matrix.of(context); // The identifier might be a matrix.to url and needs escaping. Or, it might have multiple // identifiers (room id & event id), or it might also have a query part. diff --git a/lib/widgets/event_content/image_bubble.dart b/lib/widgets/event_content/image_bubble.dart index ff79845d..d1c19aa6 100644 --- a/lib/widgets/event_content/image_bubble.dart +++ b/lib/widgets/event_content/image_bubble.dart @@ -113,8 +113,7 @@ class _ImageBubbleState extends State { } } - Widget frameBuilder( - BuildContext context, Widget child, int frame, bool sync) { + Widget frameBuilder(_, Widget child, int frame, __) { // as servers might return animated gifs as thumbnails and we want them to *not* play // animated, we'll have to store the first frame in a variable and display that instead if (widget.animated) { @@ -249,7 +248,8 @@ class _ImageBubbleState extends State { children: [ if (blurhash != null) blurhash, Center( - child: child ?? const CircularProgressIndicator.adaptive(strokeWidth: 2), + child: + child ?? const CircularProgressIndicator.adaptive(strokeWidth: 2), ), ], ); diff --git a/lib/widgets/input_bar.dart b/lib/widgets/input_bar.dart index 391b22fc..6ede0295 100644 --- a/lib/widgets/input_bar.dart +++ b/lib/widgets/input_bar.dart @@ -221,7 +221,8 @@ class InputBar extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text('/' + command, style: const TextStyle(fontFamily: 'monospace')), + Text('/' + command, + style: const TextStyle(fontFamily: 'monospace')), Text(_commandHint(L10n.of(context), command), style: Theme.of(context).textTheme.caption), ], @@ -291,7 +292,7 @@ class InputBar extends StatelessWidget { return Container(); } - void insertSuggestion(BuildContext context, Map suggestion) { + void insertSuggestion(_, Map suggestion) { final replaceText = controller.text.substring(0, controller.selection.baseOffset); var startText = ''; diff --git a/pubspec.lock b/pubspec.lock index 3ea87468..25f631c6 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,7 +7,7 @@ packages: name: _fe_analyzer_shared url: "https://pub.dartlang.org" source: hosted - version: "21.0.0" + version: "29.0.0" adaptive_dialog: dependency: "direct main" description: @@ -28,7 +28,14 @@ packages: name: analyzer url: "https://pub.dartlang.org" source: hosted - version: "1.5.0" + version: "2.6.0" + analyzer_plugin: + dependency: transitive + description: + name: analyzer_plugin + url: "https://pub.dartlang.org" + source: hosted + version: "0.7.0" animations: dependency: transitive description: @@ -36,6 +43,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.0.0" + ansicolor: + dependency: transitive + description: + name: ansicolor + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" archive: dependency: transitive description: @@ -197,6 +211,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.6.0" + dart_code_metrics: + dependency: "direct dev" + description: + name: dart_code_metrics + url: "https://pub.dartlang.org" + source: hosted + version: "4.2.0-dev.3" + dart_style: + dependency: transitive + description: + name: dart_style + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.0" dbus: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index bef71b90..4964925c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -74,6 +74,7 @@ dependencies: dev_dependencies: dapackages: ^1.6.0 + dart_code_metrics: ^4.2.0-dev.3 flutter_lints: ^1.0.4 flutter_native_splash: ^1.2.4 flutter_test: diff --git a/scripts/code_analyze.sh b/scripts/code_analyze.sh index 719fcfb1..41454c29 100755 --- a/scripts/code_analyze.sh +++ b/scripts/code_analyze.sh @@ -2,3 +2,4 @@ git apply ./scripts/enable-android-google-services.patch flutter format lib/ test/ --set-exit-if-changed flutter analyze +flutter pub run dart_code_metrics:metrics lib -r gitlab > code-quality-report.json || true \ No newline at end of file