glitch-soc/mastodon

View on GitHub

Showing 1,278 of 4,906 total issues

Avoid deeply nested control flow statements.
Open

            if (accountAdminLink !== undefined) {
              menu.push({ text: intl.formatMessage(messages.admin_account, { name: status.getIn(['account', 'username']) }), href: accountAdminLink(status.getIn(['account', 'id'])) });
            }
Severity: Major
Found in app/javascript/flavours/glitch/features/status/components/action_bar.jsx - About 45 mins to fix

    Function render has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
    Open

      render () {
        const { emoji, emojiMap, hovered } = this.props;
    
        if (unicodeMapping[emoji]) {
          const { filename, shortCode } = unicodeMapping[this.props.emoji];

    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 Comment has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
    Open

    const Comment = ({ comment, domain, statusIds, isRemote, isSubmitting, selectedDomains, onSubmit, onChangeComment, onToggleDomain }) => {
      const intl = useIntl();
    
      const dispatch = useAppDispatch();
      const loadedRef = useRef(false);
    Severity: Minor
    Found in app/javascript/flavours/glitch/features/report/comment.jsx - About 45 mins 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 updateReaction has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
    Open

    const updateReaction = (state, id, name, updater) => state.update('items', list => list.map(announcement => {
      if (announcement.get('id') === id) {
        return announcement.update('reactions', reactions => {
          const idx = reactions.findIndex(reaction => reaction.get('name') === name);
    
    
    Severity: Minor
    Found in app/javascript/flavours/glitch/reducers/announcements.js - About 45 mins 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

    Avoid deeply nested control flow statements.
    Open

                if (statusAdminLink !== undefined) {
                  menu.push({ text: intl.formatMessage(messages.admin_status), href: statusAdminLink(status.getIn(['account', 'id']), status.get('id')) });
                }
    Severity: Major
    Found in app/javascript/flavours/glitch/features/status/components/action_bar.jsx - About 45 mins to fix

      Function render has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
      Open

        render () {
          const { attachments, isLoading, hasMore, isAccount, multiColumn, blockedBy, suspended } = this.props;
          const { width } = this.state;
      
          if (!isAccount) {
      Severity: Minor
      Found in app/javascript/mastodon/features/account_gallery/index.jsx - About 45 mins 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 Story has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
      Open

      export const Story = ({
        url,
        title,
        lang,
        publisher,
      Severity: Minor
      Found in app/javascript/mastodon/features/explore/components/story.jsx - About 45 mins 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 renderOption has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
      Open

        renderOption (option, optionIndex, showResults) {
          const { poll, lang, disabled, intl } = this.props;
          const pollVotesCount  = poll.get('voters_count') || poll.get('votes_count');
          const percent         = pollVotesCount === 0 ? 0 : (option.get('votes_count') / pollVotesCount) * 100;
          const leading         = poll.get('options').filterNot(other => other.get('title') === option.get('title')).every(other => option.get('votes_count') >= other.get('votes_count'));
      Severity: Minor
      Found in app/javascript/mastodon/components/poll.jsx - About 45 mins 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

      Avoid deeply nested control flow statements.
      Open

                  if (subIndex !== -1) {
                    let score = subIndex + 1;
                    if (sub === id) score = 0;
      
                    aIndex.results.push(emojisList[id]);
      Severity: Major
      Found in app/javascript/mastodon/features/emoji/emoji_mart_search_light.js - About 45 mins to fix

        Function addReaction has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

        export const addReaction = (announcementId, name) => (dispatch, getState) => {
          const announcement = getState().getIn(['announcements', 'items']).find(x => x.get('id') === announcementId);
        
          let alreadyAdded = false;
        
        
        Severity: Minor
        Found in app/javascript/mastodon/actions/announcements.js - About 45 mins 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 recountUnread has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

        const recountUnread = (state, last_read_id) => {
          return state.withMutations(mutable => {
            if (compareId(last_read_id, mutable.get('lastReadId')) > 0) {
              mutable.set('lastReadId', last_read_id);
            }
        Severity: Minor
        Found in app/javascript/flavours/glitch/reducers/notifications.js - About 45 mins 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 updateReaction has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

        const updateReaction = (state, id, name, updater) => state.update('items', list => list.map(announcement => {
          if (announcement.get('id') === id) {
            return announcement.update('reactions', reactions => {
              const idx = reactions.findIndex(reaction => reaction.get('name') === name);
        
        
        Severity: Minor
        Found in app/javascript/mastodon/reducers/announcements.js - About 45 mins 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 a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

          render () {
            const { emoji, emojiMap, hovered } = this.props;
        
            if (unicodeMapping[emoji]) {
              const { filename, shortCode } = unicodeMapping[this.props.emoji];

        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 Comment has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

        const Comment = ({ comment, domain, statusIds, isRemote, isSubmitting, selectedDomains, onSubmit, onChangeComment, onToggleDomain }) => {
          const intl = useIntl();
        
          const dispatch = useAppDispatch();
          const loadedRef = useRef(false);
        Severity: Minor
        Found in app/javascript/mastodon/features/report/comment.jsx - About 45 mins 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 compose has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

        export default function compose(state = initialState, action) {
          switch(action.type) {
          case STORE_HYDRATE:
            return hydrate(state, action.state.get('compose'));
          case COMPOSE_MOUNT:
        Severity: Minor
        Found in app/javascript/mastodon/reducers/compose.js - About 45 mins 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 recountUnread has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

        const recountUnread = (state, last_read_id) => {
          return state.withMutations(mutable => {
            if (compareId(last_read_id, mutable.get('lastReadId')) > 0) {
              mutable.set('lastReadId', last_read_id);
            }
        Severity: Minor
        Found in app/javascript/mastodon/reducers/notifications.js - About 45 mins 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 attempt_opengraph has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

          def attempt_opengraph
            return if html.nil?
        
            link_details_extractor = LinkDetailsExtractor.new(@url, @html, @html_charset)
            domain = Addressable::URI.parse(link_details_extractor.canonical_url).normalized_host
        Severity: Minor
        Found in app/services/fetch_link_card_service.rb - About 45 mins 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 update_poll! has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

          def update_poll!
            previous_poll        = @status.preloadable_poll
            @previous_expires_at = previous_poll&.expires_at
        
            if @options[:poll].present?
        Severity: Minor
        Found in app/services/update_status_service.rb - About 45 mins 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 valid_with_challenge? has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

          def valid_with_challenge?(current_user)
            if current_user.encrypted_password.present?
              errors.add(:current_password, :invalid) unless current_user.valid_password?(current_password)
            else
              errors.add(:current_username, :invalid) unless account.username == current_username
        Severity: Minor
        Found in app/models/form/redirect.rb - About 45 mins 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 fetch_resource_without_id_validation has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

          def fetch_resource_without_id_validation(uri, on_behalf_of = nil, raise_on_temporary_error = false, request_options: {})
            on_behalf_of ||= Account.representative
        
            build_request(uri, on_behalf_of, options: request_options).perform do |response|
              raise Mastodon::UnexpectedResponseError, response unless response_successful?(response) || response_error_unsalvageable?(response) || !raise_on_temporary_error
        Severity: Minor
        Found in app/helpers/jsonld_helper.rb - About 45 mins 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

        Severity
        Category
        Status
        Source
        Language