mashirozx/mastodon

View on GitHub

Showing 720 of 1,785 total issues

Method validate_each has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

  def validate_each(record, attribute, value)
    return if value.blank?

    if options[:multiple]
      missing_usernames = value.split(',').map { |username| username.strip.gsub(/\A@/, '') }.filter_map { |username| username unless Account.find_local(username) }
Severity: Minor
Found in app/validators/local_existing_username_validator.rb - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Method make has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    def make
      metadata = VideoMetadataExtractor.new(@file.path)

      unless metadata.valid?
        Paperclip.log("Unsupported file #{@file.path}")
Severity: Minor
Found in lib/paperclip/transcoder.rb - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Method uri_to_resource has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

  def uri_to_resource(uri, klass)
    return if uri.nil?

    if local_uri?(uri)
      case klass.name
Severity: Minor
Found in app/lib/activitypub/tag_manager.rb - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Method perform has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

  def perform(id)
    account = Account.find(id)

    return if account.suspended? || DomainBlock.rule_for(account.domain)&.reject_media?
    return if account.header_remote_url.blank? || account.header_file_name.present?
Severity: Minor
Found in app/workers/redownload_header_worker.rb - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Method perform has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

  def perform(id)
    account = Account.find(id)

    return if account.suspended? || DomainBlock.rule_for(account.domain)&.reject_media?
    return if account.avatar_remote_url.blank? || account.avatar_file_name.present?
Severity: Minor
Found in app/workers/redownload_avatar_worker.rb - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Method stats_to_summary has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    def stats_to_summary(stats, processed, failed, start_at)
      stats.compact!

      total_domains = stats.size
      total_users   = stats.reduce(0) { |sum, (_key, val)| val.is_a?(Hash) && val['stats'].is_a?(Hash) ? sum + val['stats']['user_count'].to_i : sum }
Severity: Minor
Found in lib/mastodon/domains_cli.rb - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Method remove has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    def remove
      time_ago = options[:days].days.ago
      dry_run  = options[:dry_run] ? '(DRY RUN)' : ''

      processed, aggregate = parallelize_with_progress(MediaAttachment.cached.where.not(remote_url: '').where('created_at < ?', time_ago)) do |media_attachment|
Severity: Minor
Found in lib/mastodon/media_cli.rb - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Method copy_indexes has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    def copy_indexes(table, old, new)
      old = old.to_s
      new = new.to_s

      indexes_for(table, old).each do |index|
Severity: Minor
Found in lib/mastodon/migration_helpers.rb - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function render has 27 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  render () {
    const { intl, statusIds, columnId, multiColumn, hasMore, isLoading } = this.props;
    const pinned = !!columnId;

    const emptyMessage = <FormattedMessage id='empty_column.bookmarked_statuses' defaultMessage="You don't have any bookmarked posts yet. When you bookmark one, it will show up here." />;
Severity: Minor
Found in app/javascript/mastodon/features/bookmarked_statuses/index.js - About 1 hr to fix

    Function render has 27 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

      render () {
        const { poll, intl } = this.props;
        const { expired } = this.state;
    
        if (!poll) {
    Severity: Minor
    Found in app/javascript/mastodon/components/poll.js - About 1 hr to fix

      Function render has 27 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

        render () {
          const { intl, statusIds, columnId, multiColumn, hasMore, isLoading } = this.props;
          const pinned = !!columnId;
      
          const emptyMessage = <FormattedMessage id='empty_column.favourited_statuses' defaultMessage="You don't have any favourite posts yet. When you favourite one, it will show up here." />;
      Severity: Minor
      Found in app/javascript/mastodon/features/favourited_statuses/index.js - About 1 hr to fix

        Function render has 27 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

          render () {
            const { items, style, placement, arrowOffsetLeft, arrowOffsetTop, scrollable, renderHeader, loading } = this.props;
            const { mounted } = this.state;
        
            let renderItem = this.props.renderItem || this.renderItem;
        Severity: Minor
        Found in app/javascript/mastodon/components/dropdown_menu.js - About 1 hr to fix

          Function dropOrientationIfNeeded has 27 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

          const dropOrientationIfNeeded = (orientation) => new Promise(resolve => {
            switch (_browser_quirks['image-orientation-automatic']) {
            case true:
              resolve(1);
              break;
          Severity: Minor
          Found in app/javascript/mastodon/utils/resize_image.js - About 1 hr to fix

            Function render has 27 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

              render () {
                const { notification } = this.props;
                const account          = notification.get('account');
                const displayNameHtml  = { __html: account.get('display_name_html') };
                const link             = <bdi><Permalink className='notification__display-name' href={account.get('url')} title={account.get('acct')} to={`/@${account.get('acct')}`} dangerouslySetInnerHTML={displayNameHtml} /></bdi>;

              Function render has 27 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                render () {
                  const { comment, isRemote, forward, domain, isSubmitting, intl } = this.props;
              
                  return (
                    <React.Fragment>
              Severity: Minor
              Found in app/javascript/mastodon/features/report/comment.js - About 1 hr to fix

                Function expandNormalizedTimeline has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, isLoadingRecent, usePendingItems) => {
                  // This method is pretty tricky because:
                  // - existing items in the timeline might be out of order
                  // - the existing timeline may have gaps, most often explicitly noted with a `null` item
                  // - ideally, we don't want it to reorder existing items of the timeline
                Severity: Minor
                Found in app/javascript/mastodon/reducers/timelines.js - About 1 hr to fix

                  Function render has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                    render () {
                      const { reactions } = this.props;
                      const visibleReactions = reactions.filter(x => x.get('count') > 0);
                  
                      const styles = visibleReactions.map(reaction => ({

                    Function render has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                      render () {
                        const { intl, hasUnread, columnId, multiColumn, onlyMedia } = this.props;
                        const pinned = !!columnId;
                    
                        return (
                    Severity: Minor
                    Found in app/javascript/mastodon/features/community_timeline/index.js - About 1 hr to fix

                      Function expandNormalizedConversations has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                      const expandNormalizedConversations = (state, conversations, next, isLoadingRecent) => {
                        let items = ImmutableList(conversations.map(conversationToMap));
                      
                        return state.withMutations(mutable => {
                          if (!items.isEmpty()) {
                      Severity: Minor
                      Found in app/javascript/mastodon/reducers/conversations.js - About 1 hr to fix

                        Method show has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                          def show
                            unless ENV['TRANSLATION_SERVER_HOST']
                              render json: { 'message' => 'TRANSLATION_SERVER_HOST not found in ENV'}, status:400
                              return
                            end
                        Severity: Minor
                        Found in app/controllers/translation_controller.rb - About 1 hr to fix
                          Severity
                          Category
                          Status
                          Source
                          Language