mashirozx/mastodon

View on GitHub

Showing 720 of 1,785 total issues

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

  def url_for(target)
    return target.url if target.respond_to?(:local?) && !target.local?

    return unless target.respond_to?(:object_type)

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 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

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 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 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 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 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

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.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 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 { 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 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 { 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 { 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 { 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 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 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