[Glitch] Change referrer policy to be controlled by header in web UI
Port 425311e1d9 to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
			
			
This commit is contained in:
		
							parent
							
								
									39ebf707f0
								
							
						
					
					
						commit
						bb17ffac92
					
				| 
						 | 
				
			
			@ -36,7 +36,7 @@ export default class AttachmentList extends ImmutablePureComponent {
 | 
			
		|||
 | 
			
		||||
            return (
 | 
			
		||||
              <li key={attachment.get('id')}>
 | 
			
		||||
                <a href={displayUrl} target='_blank' rel='noopener noreferrer'>
 | 
			
		||||
                <a href={displayUrl} target='_blank' rel='noopener'>
 | 
			
		||||
                  {compact && <Icon id='link' icon={LinkIcon} />}
 | 
			
		||||
                  {compact && ' ' }
 | 
			
		||||
                  {displayUrl ? filename(displayUrl) : <FormattedMessage id='attachments_list.unprocessed' defaultMessage='(unprocessed)' />}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -124,7 +124,7 @@ class DropdownMenu extends PureComponent {
 | 
			
		|||
 | 
			
		||||
    return (
 | 
			
		||||
      <li className={classNames('dropdown-menu__item', { 'dropdown-menu__item--dangerous': dangerous })} key={`${text}-${i}`}>
 | 
			
		||||
        <a href={href} target={target} data-method={method} rel='noopener noreferrer' role='button' tabIndex={0} ref={i === 0 ? this.setFocusRef : null} onClick={this.handleClick} onKeyPress={this.handleItemKeyPress} data-index={i}>
 | 
			
		||||
        <a href={href} target={target} data-method={method} rel='noopener' role='button' tabIndex={0} ref={i === 0 ? this.setFocusRef : null} onClick={this.handleClick} onKeyPress={this.handleItemKeyPress} data-index={i}>
 | 
			
		||||
          {text}
 | 
			
		||||
        </a>
 | 
			
		||||
      </li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -98,7 +98,7 @@ export default class ErrorBoundary extends PureComponent {
 | 
			
		|||
            )}
 | 
			
		||||
          </p>
 | 
			
		||||
 | 
			
		||||
          <p className='error-boundary__footer'>Mastodon v{version} · <a href={source_url} rel='noopener noreferrer' target='_blank'><FormattedMessage id='errors.unexpected_crash.report_issue' defaultMessage='Report issue' /></a> · <button onClick={this.handleCopyStackTrace} className={copied ? 'copied' : ''}><FormattedMessage id='errors.unexpected_crash.copy_stacktrace' defaultMessage='Copy stacktrace to clipboard' /></button></p>
 | 
			
		||||
          <p className='error-boundary__footer'>Mastodon v{version} · <a href={source_url} rel='noopener' target='_blank'><FormattedMessage id='errors.unexpected_crash.report_issue' defaultMessage='Report issue' /></a> · <button onClick={this.handleCopyStackTrace} className={copied ? 'copied' : ''}><FormattedMessage id='errors.unexpected_crash.copy_stacktrace' defaultMessage='Copy stacktrace to clipboard' /></button></p>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <Helmet>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -88,7 +88,7 @@ export const FollowButton: React.FC<{
 | 
			
		|||
      <a
 | 
			
		||||
        href='/settings/profile'
 | 
			
		||||
        target='_blank'
 | 
			
		||||
        rel='noreferrer noopener'
 | 
			
		||||
        rel='noopener'
 | 
			
		||||
        className='button button-secondary'
 | 
			
		||||
      >
 | 
			
		||||
        {label}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -107,7 +107,7 @@ class Item extends PureComponent {
 | 
			
		|||
    if (attachment.get('type') === 'unknown') {
 | 
			
		||||
      return (
 | 
			
		||||
        <div className={classNames('media-gallery__item', { standalone, 'media-gallery__item--tall': height === 100, 'media-gallery__item--wide': width === 100 })} key={attachment.get('id')}>
 | 
			
		||||
          <a className='media-gallery__item-thumbnail' href={attachment.get('remote_url') || attachment.get('url')} style={{ cursor: 'pointer' }} title={description} lang={lang} target='_blank' rel='noopener noreferrer'>
 | 
			
		||||
          <a className='media-gallery__item-thumbnail' href={attachment.get('remote_url') || attachment.get('url')} style={{ cursor: 'pointer' }} title={description} lang={lang} target='_blank' rel='noopener'>
 | 
			
		||||
            <Blurhash
 | 
			
		||||
              hash={attachment.get('blurhash')}
 | 
			
		||||
              className='media-gallery__preview'
 | 
			
		||||
| 
						 | 
				
			
			@ -139,7 +139,7 @@ class Item extends PureComponent {
 | 
			
		|||
          href={attachment.get('remote_url') || originalUrl}
 | 
			
		||||
          onClick={this.handleClick}
 | 
			
		||||
          target='_blank'
 | 
			
		||||
          rel='noopener noreferrer'
 | 
			
		||||
          rel='noopener'
 | 
			
		||||
        >
 | 
			
		||||
          <img
 | 
			
		||||
            className={letterbox ? 'letterbox' : null}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,7 +42,7 @@ class ServerBanner extends PureComponent {
 | 
			
		|||
    return (
 | 
			
		||||
      <div className='server-banner'>
 | 
			
		||||
        <div className='server-banner__introduction'>
 | 
			
		||||
          <FormattedMessage id='server_banner.is_one_of_many' defaultMessage='{domain} is one of the many independent Mastodon servers you can use to participate in the fediverse.' values={{ domain: <strong>{domain}</strong>, mastodon: <a href='https://joinmastodon.org' target='_blank'>Mastodon</a> }} />
 | 
			
		||||
          <FormattedMessage id='server_banner.is_one_of_many' defaultMessage='{domain} is one of the many independent Mastodon servers you can use to participate in the fediverse.' values={{ domain: <strong>{domain}</strong>, mastodon: <a href='https://joinmastodon.org' target='_blank' rel='noopener'>Mastodon</a> }} />
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <Link to='/about'>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -367,7 +367,7 @@ class Status extends ImmutablePureComponent {
 | 
			
		|||
    if (e?.button === 0 && !(e?.ctrlKey || e?.metaKey)) {
 | 
			
		||||
      history.push(path);
 | 
			
		||||
    } else if (e?.button === 1 || (e?.button === 0 && (e?.ctrlKey || e?.metaKey))) {
 | 
			
		||||
      window.open(path, '_blank', 'noreferrer noopener');
 | 
			
		||||
      window.open(path, '_blank', 'noopener');
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -123,7 +123,7 @@ class About extends PureComponent {
 | 
			
		|||
          <div className='about__header'>
 | 
			
		||||
            <ServerHeroImage blurhash={server.getIn(['thumbnail', 'blurhash'])} src={server.getIn(['thumbnail', 'url'])} srcSet={server.getIn(['thumbnail', 'versions'])?.map((value, key) => `${value} ${key.replace('@', '')}`).join(', ')} className='about__header__hero' />
 | 
			
		||||
            <h1>{isLoading ? <Skeleton width='10ch' /> : server.get('domain')}</h1>
 | 
			
		||||
            <p><FormattedMessage id='about.powered_by' defaultMessage='Decentralized social media powered by {mastodon}' values={{ mastodon: <a href='https://joinmastodon.org' className='about__mail' target='_blank'>Mastodon</a> }} /></p>
 | 
			
		||||
            <p><FormattedMessage id='about.powered_by' defaultMessage='Decentralized social media powered by {mastodon}' values={{ mastodon: <a href='https://joinmastodon.org' className='about__mail' target='_blank' rel='noopener'>Mastodon</a> }} /></p>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <div className='about__meta'>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -344,7 +344,7 @@ class Header extends ImmutablePureComponent {
 | 
			
		|||
 | 
			
		||||
        <div className='account__header__bar'>
 | 
			
		||||
          <div className='account__header__tabs'>
 | 
			
		||||
            <a className='avatar' href={account.get('avatar')} rel='noopener noreferrer' target='_blank' onClick={this.handleAvatarClick}>
 | 
			
		||||
            <a className='avatar' href={account.get('avatar')} rel='noopener' target='_blank' onClick={this.handleAvatarClick}>
 | 
			
		||||
              <Avatar account={suspended || hidden ? undefined : account} size={90} />
 | 
			
		||||
            </a>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -85,7 +85,7 @@ class ContentWithRouter extends ImmutablePureComponent {
 | 
			
		|||
      }
 | 
			
		||||
 | 
			
		||||
      link.setAttribute('target', '_blank');
 | 
			
		||||
      link.setAttribute('rel', 'noopener noreferrer');
 | 
			
		||||
      link.setAttribute('rel', 'noopener');
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,7 +28,7 @@ export const RelationshipsSeveranceEvent = ({ type, target, followingCount, foll
 | 
			
		|||
 | 
			
		||||
      <div className='notification-group__main'>
 | 
			
		||||
        <p>{intl.formatMessage(messages[type], { from: <strong>{domain}</strong>, target: <strong>{target}</strong>, followingCount, followersCount })}</p>
 | 
			
		||||
        <a href='/severed_relationships' target='_blank' rel='noopener noreferrer' className='link-button'><FormattedMessage id='notification.relationships_severance_event.learn_more' defaultMessage='Learn more' /></a>
 | 
			
		||||
        <a href='/severed_relationships' target='_blank' rel='noopener' className='link-button'><FormattedMessage id='notification.relationships_severance_event.learn_more' defaultMessage='Learn more' /></a>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
  );
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,7 +55,7 @@ class Report extends ImmutablePureComponent {
 | 
			
		|||
          </div>
 | 
			
		||||
 | 
			
		||||
          <div className='notification__report__actions'>
 | 
			
		||||
            <a href={`/admin/reports/${report.get('id')}`} className='button' target='_blank' rel='noopener noreferrer'>{intl.formatMessage(messages.openReport)}</a>
 | 
			
		||||
            <a href={`/admin/reports/${report.get('id')}`} className='button' target='_blank' rel='noopener'>{intl.formatMessage(messages.openReport)}</a>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -70,7 +70,7 @@ export const EmbeddedStatus: React.FC<{ statusId: string }> = ({
 | 
			
		|||
        if (button === 0 && !(ctrlKey || metaKey)) {
 | 
			
		||||
          history.push(path);
 | 
			
		||||
        } else if (button === 1 || (button === 0 && (ctrlKey || metaKey))) {
 | 
			
		||||
          window.open(path, '_blank', 'noreferrer noopener');
 | 
			
		||||
          window.open(path, '_blank', 'noopener');
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -68,7 +68,7 @@ const Embed: React.FC<{ id: string }> = ({ id }) => {
 | 
			
		|||
        className='embed__overlay'
 | 
			
		||||
        href={permalink}
 | 
			
		||||
        target='_blank'
 | 
			
		||||
        rel='noreferrer noopener'
 | 
			
		||||
        rel='noopener'
 | 
			
		||||
        aria-label=''
 | 
			
		||||
      />
 | 
			
		||||
    </div>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -197,7 +197,7 @@ export default class Card extends PureComponent {
 | 
			
		|||
              <div className='status-card__actions' onClick={this.handleEmbedClick} role='none'>
 | 
			
		||||
                <div>
 | 
			
		||||
                  <button type='button' onClick={this.handleEmbedClick}><Icon id='play' icon={PlayArrowIcon} /></button>
 | 
			
		||||
                  <a href={card.get('url')} onClick={this.handleExternalLinkClick} target='_blank' rel='noopener noreferrer'><Icon id='external-link' icon={OpenInNewIcon} /></a>
 | 
			
		||||
                  <a href={card.get('url')} onClick={this.handleExternalLinkClick} target='_blank' rel='noopener'><Icon id='external-link' icon={OpenInNewIcon} /></a>
 | 
			
		||||
                </div>
 | 
			
		||||
              </div>
 | 
			
		||||
            ) : spoilerButton}
 | 
			
		||||
| 
						 | 
				
			
			@ -208,7 +208,7 @@ export default class Card extends PureComponent {
 | 
			
		|||
      return (
 | 
			
		||||
        <div className={classNames('status-card', { expanded: largeImage })} ref={this.setRef} onClick={revealed ? null : this.handleReveal} role={revealed ? 'button' : null}>
 | 
			
		||||
          {embed}
 | 
			
		||||
          <a href={card.get('url')} target='_blank' rel='noopener noreferrer'>{description}</a>
 | 
			
		||||
          <a href={card.get('url')} target='_blank' rel='noopener'>{description}</a>
 | 
			
		||||
        </div>
 | 
			
		||||
      );
 | 
			
		||||
    } else if (card.get('image')) {
 | 
			
		||||
| 
						 | 
				
			
			@ -228,7 +228,7 @@ export default class Card extends PureComponent {
 | 
			
		|||
 | 
			
		||||
    return (
 | 
			
		||||
      <>
 | 
			
		||||
        <a href={card.get('url')} className={classNames('status-card', { expanded: largeImage, bottomless: showAuthor })} target='_blank' rel='noopener noreferrer' ref={this.setRef}>
 | 
			
		||||
        <a href={card.get('url')} className={classNames('status-card', { expanded: largeImage, bottomless: showAuthor })} target='_blank' rel='noopener' ref={this.setRef}>
 | 
			
		||||
          {embed}
 | 
			
		||||
          {description}
 | 
			
		||||
        </a>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,7 +45,7 @@ export default class ActionsModal extends ImmutablePureComponent {
 | 
			
		|||
 | 
			
		||||
    return (
 | 
			
		||||
      <li key={`${text}-${i}`}>
 | 
			
		||||
        <a href={href} target='_blank' rel='noopener noreferrer' onClick={this.props.onClick} data-index={i} className={classNames('link', { active })}>
 | 
			
		||||
        <a href={href} target='_blank' rel='noopener' onClick={this.props.onClick} data-index={i} className={classNames('link', { active })}>
 | 
			
		||||
          {contents}
 | 
			
		||||
        </a>
 | 
			
		||||
      </li>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,7 +26,7 @@ export const LinkFooter: React.FC<{
 | 
			
		|||
        {statusPageUrl && (
 | 
			
		||||
          <>
 | 
			
		||||
            <DividingCircle />
 | 
			
		||||
            <a href={statusPageUrl} target='_blank' rel='noopener noreferrer'>
 | 
			
		||||
            <a href={statusPageUrl} target='_blank' rel='noopener'>
 | 
			
		||||
              <FormattedMessage id='footer.status' defaultMessage='Status' />
 | 
			
		||||
            </a>
 | 
			
		||||
          </>
 | 
			
		||||
| 
						 | 
				
			
			@ -72,15 +72,11 @@ export const LinkFooter: React.FC<{
 | 
			
		|||
 | 
			
		||||
      <p>
 | 
			
		||||
        <strong>Mastodon</strong>:{' '}
 | 
			
		||||
        <a href='https://joinmastodon.org' target='_blank' rel='noreferrer'>
 | 
			
		||||
        <a href='https://joinmastodon.org' target='_blank' rel='noopener'>
 | 
			
		||||
          <FormattedMessage id='footer.about' defaultMessage='About' />
 | 
			
		||||
        </a>
 | 
			
		||||
        <DividingCircle />
 | 
			
		||||
        <a
 | 
			
		||||
          href='https://joinmastodon.org/apps'
 | 
			
		||||
          target='_blank'
 | 
			
		||||
          rel='noreferrer'
 | 
			
		||||
        >
 | 
			
		||||
        <a href='https://joinmastodon.org/apps' target='_blank' rel='noopener'>
 | 
			
		||||
          <FormattedMessage id='footer.get_app' defaultMessage='Get the app' />
 | 
			
		||||
        </a>
 | 
			
		||||
        <DividingCircle />
 | 
			
		||||
| 
						 | 
				
			
			@ -91,7 +87,7 @@ export const LinkFooter: React.FC<{
 | 
			
		|||
          />
 | 
			
		||||
        </Link>
 | 
			
		||||
        <DividingCircle />
 | 
			
		||||
        <a href={source_url} rel='noopener noreferrer' target='_blank'>
 | 
			
		||||
        <a href={source_url} rel='noopener' target='_blank'>
 | 
			
		||||
          <FormattedMessage
 | 
			
		||||
            id='footer.source_code'
 | 
			
		||||
            defaultMessage='View source code'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue