From 12d35783db1bb302d7540d8d3690ab6eed3dac3b Mon Sep 17 00:00:00 2001 From: Starfall Date: Sun, 1 Mar 2020 14:49:21 -0600 Subject: Revert "Merge branch 'glitch'" Login is broken This reverts commit 22a55edc158352003a3953964c9d332a60c86428, reversing changes made to 5902299384d15249fe4b84b8761d4a49f3c7f6fd. --- .../flavours/glitch/components/error_boundary.js | 22 ++----------------- .../features/compose/components/compose_form.js | 12 +++++------ .../features/compose/components/publisher.js | 8 ++----- .../glitch/features/keyboard_shortcuts/index.js | 4 ---- .../flavours/glitch/util/base_polyfills.js | 3 --- .../flavours/glitch/util/load_polyfills.js | 3 +-- app/javascript/flavours/glitch/util/main.js | 2 +- app/javascript/mastodon/base_polyfills.js | 3 --- .../mastodon/components/error_boundary.js | 25 +++------------------- app/javascript/mastodon/load_polyfills.js | 3 +-- app/javascript/mastodon/main.js | 2 +- 11 files changed, 17 insertions(+), 70 deletions(-) (limited to 'app/javascript') diff --git a/app/javascript/flavours/glitch/components/error_boundary.js b/app/javascript/flavours/glitch/components/error_boundary.js index 8998802b1..62950a7d3 100644 --- a/app/javascript/flavours/glitch/components/error_boundary.js +++ b/app/javascript/flavours/glitch/components/error_boundary.js @@ -2,7 +2,6 @@ import React from 'react'; import PropTypes from 'prop-types'; import { FormattedMessage } from 'react-intl'; import { preferencesLink } from 'flavours/glitch/util/backend_links'; -import StackTrace from 'stacktrace-js'; export default class ErrorBoundary extends React.PureComponent { @@ -12,29 +11,15 @@ export default class ErrorBoundary extends React.PureComponent { state = { hasError: false, - errorMessage: undefined, stackTrace: undefined, - mappedStackTrace: undefined, componentStack: undefined, } componentDidCatch(error, info) { this.setState({ hasError: true, - errorMessage: error.toString(), stackTrace: error.stack, componentStack: info && info.componentStack, - mappedStackTrace: undefined, - }); - - StackTrace.fromError(error).then((stackframes) => { - this.setState({ - mappedStackTrace: stackframes.map((sf) => sf.toString()).join('\n'), - }); - }).catch(() => { - this.setState({ - mappedStackTrace: undefined, - }); }); } @@ -44,16 +29,13 @@ export default class ErrorBoundary extends React.PureComponent { } render() { - const { hasError, errorMessage, stackTrace, mappedStackTrace, componentStack } = this.state; + const { hasError, stackTrace, componentStack } = this.state; if (!hasError) return this.props.children; let debugInfo = ''; if (stackTrace) { - debugInfo += 'Stack trace\n-----------\n\n```\n' + errorMessage + '\n' + stackTrace.toString() + '\n```'; - } - if (mappedStackTrace) { - debugInfo += 'Mapped stack trace\n-----------\n\n```\n' + errorMessage + '\n' + mappedStackTrace.toString() + '\n```'; + debugInfo += 'Stack trace\n-----------\n\n```\n' + stackTrace.toString() + '\n```'; } if (componentStack) { if (debugInfo) { diff --git a/app/javascript/flavours/glitch/features/compose/components/compose_form.js b/app/javascript/flavours/glitch/features/compose/components/compose_form.js index daacbb73f..6e07998ec 100644 --- a/app/javascript/flavours/glitch/features/compose/components/compose_form.js +++ b/app/javascript/flavours/glitch/features/compose/components/compose_form.js @@ -93,7 +93,7 @@ class ComposeForm extends ImmutablePureComponent { } } - handleSubmit = (overriddenVisibility = null) => { + handleSubmit = () => { const { textarea: { value }, uploadForm } = this; const { onChange, @@ -106,7 +106,6 @@ class ComposeForm extends ImmutablePureComponent { text, mediaDescriptionConfirmation, onMediaDescriptionConfirm, - onChangeVisibility, } = this.props; // If something changes inside the textarea, then we update the @@ -125,9 +124,6 @@ class ComposeForm extends ImmutablePureComponent { const firstWithoutDescription = media.find(item => !item.get('description')); onMediaDescriptionConfirm(this.context.router ? this.context.router.history : null, firstWithoutDescription.get('id')); } else if (onSubmit) { - if (onChangeVisibility && overriddenVisibility) { - onChangeVisibility(overriddenVisibility); - } onSubmit(this.context.router ? this.context.router.history : null); } } @@ -156,9 +152,13 @@ class ComposeForm extends ImmutablePureComponent { // Handles the secondary submit button. handleSecondarySubmit = () => { const { + onChangeVisibility, sideArm, } = this.props; - this.handleSubmit(sideArm === 'none' ? null : sideArm); + if (sideArm !== 'none' && onChangeVisibility) { + onChangeVisibility(sideArm); + } + this.handleSubmit(); } // Selects a suggestion from the autofill. diff --git a/app/javascript/flavours/glitch/features/compose/components/publisher.js b/app/javascript/flavours/glitch/features/compose/components/publisher.js index 97890f40d..b8d9d98bf 100644 --- a/app/javascript/flavours/glitch/features/compose/components/publisher.js +++ b/app/javascript/flavours/glitch/features/compose/components/publisher.js @@ -38,12 +38,8 @@ class Publisher extends ImmutablePureComponent { sideArm: PropTypes.oneOf(['none', 'direct', 'private', 'unlisted', 'public']), }; - handleSubmit = () => { - this.props.onSubmit(); - }; - render () { - const { countText, disabled, intl, onSecondarySubmit, privacy, sideArm } = this.props; + const { countText, disabled, intl, onSecondarySubmit, onSubmit, privacy, sideArm } = this.props; const diff = maxChars - length(countText || ''); const computedClass = classNames('composer--publisher', { @@ -109,7 +105,7 @@ class Publisher extends ImmutablePureComponent { } }()} title={`${intl.formatMessage(messages.publish)}: ${intl.formatMessage({ id: `privacy.${privacy}.short` })}`} - onClick={this.handleSubmit} + onClick={onSubmit} disabled={disabled || diff < 0} /> diff --git a/app/javascript/flavours/glitch/features/keyboard_shortcuts/index.js b/app/javascript/flavours/glitch/features/keyboard_shortcuts/index.js index 0bb71e872..bc7571200 100644 --- a/app/javascript/flavours/glitch/features/keyboard_shortcuts/index.js +++ b/app/javascript/flavours/glitch/features/keyboard_shortcuts/index.js @@ -113,10 +113,6 @@ class KeyboardShortcuts extends ImmutablePureComponent { s - - alt+enter - - esc diff --git a/app/javascript/flavours/glitch/util/base_polyfills.js b/app/javascript/flavours/glitch/util/base_polyfills.js index 4b8123dba..ad023eb73 100644 --- a/app/javascript/flavours/glitch/util/base_polyfills.js +++ b/app/javascript/flavours/glitch/util/base_polyfills.js @@ -6,7 +6,6 @@ import assign from 'object-assign'; import values from 'object.values'; import isNaN from 'is-nan'; import { decode as decodeBase64 } from './base64'; -import promiseFinally from 'promise.prototype.finally'; if (!Array.prototype.includes) { includes.shim(); @@ -24,8 +23,6 @@ if (!Number.isNaN) { Number.isNaN = isNaN; } -promiseFinally.shim(); - if (!HTMLCanvasElement.prototype.toBlob) { const BASE64_MARKER = ';base64,'; diff --git a/app/javascript/flavours/glitch/util/load_polyfills.js b/app/javascript/flavours/glitch/util/load_polyfills.js index 73eedc9dc..8cb81c1a6 100644 --- a/app/javascript/flavours/glitch/util/load_polyfills.js +++ b/app/javascript/flavours/glitch/util/load_polyfills.js @@ -18,8 +18,7 @@ function loadPolyfills() { Number.isNaN && Object.assign && Object.values && - window.Symbol && - Promise.prototype.finally + window.Symbol ); // Latest version of Firefox and Safari do not have IntersectionObserver. diff --git a/app/javascript/flavours/glitch/util/main.js b/app/javascript/flavours/glitch/util/main.js index 1fdb9ff2b..b76826481 100644 --- a/app/javascript/flavours/glitch/util/main.js +++ b/app/javascript/flavours/glitch/util/main.js @@ -12,7 +12,7 @@ function main() { if (window.history && history.replaceState) { const { pathname, search, hash } = window.location; const path = pathname + search + hash; - if (!(/^\/web($|\/)/).test(path)) { + if (!(/^\/web[$/]/).test(path)) { history.replaceState(null, document.title, `/web${path}`); } } diff --git a/app/javascript/mastodon/base_polyfills.js b/app/javascript/mastodon/base_polyfills.js index 12096d902..997813a04 100644 --- a/app/javascript/mastodon/base_polyfills.js +++ b/app/javascript/mastodon/base_polyfills.js @@ -6,7 +6,6 @@ import assign from 'object-assign'; import values from 'object.values'; import isNaN from 'is-nan'; import { decode as decodeBase64 } from './utils/base64'; -import promiseFinally from 'promise.prototype.finally'; if (!Array.prototype.includes) { includes.shim(); @@ -24,8 +23,6 @@ if (!Number.isNaN) { Number.isNaN = isNaN; } -promiseFinally.shim(); - if (!HTMLCanvasElement.prototype.toBlob) { const BASE64_MARKER = ';base64,'; diff --git a/app/javascript/mastodon/components/error_boundary.js b/app/javascript/mastodon/components/error_boundary.js index ca3012276..4e1c882e2 100644 --- a/app/javascript/mastodon/components/error_boundary.js +++ b/app/javascript/mastodon/components/error_boundary.js @@ -2,7 +2,6 @@ import React from 'react'; import PropTypes from 'prop-types'; import { FormattedMessage } from 'react-intl'; import { version, source_url } from 'mastodon/initial_state'; -import StackTrace from 'stacktrace-js'; export default class ErrorBoundary extends React.PureComponent { @@ -12,42 +11,24 @@ export default class ErrorBoundary extends React.PureComponent { state = { hasError: false, - errorMessage: undefined, stackTrace: undefined, - mappedStackTrace: undefined, componentStack: undefined, }; componentDidCatch (error, info) { this.setState({ hasError: true, - errorMessage: error.toString(), stackTrace: error.stack, componentStack: info && info.componentStack, - mappedStackTrace: undefined, - }); - - StackTrace.fromError(error).then((stackframes) => { - this.setState({ - mappedStackTrace: stackframes.map((sf) => sf.toString()).join('\n'), - }); - }).catch(() => { - this.setState({ - mappedStackTrace: undefined, - }); + copied: false, }); } handleCopyStackTrace = () => { - const { errorMessage, stackTrace, mappedStackTrace } = this.state; + const { stackTrace } = this.state; const textarea = document.createElement('textarea'); - let contents = [errorMessage, stackTrace]; - if (mappedStackTrace) { - contents.push(mappedStackTrace); - } - - textarea.textContent = contents.join('\n\n\n'); + textarea.textContent = stackTrace; textarea.style.position = 'fixed'; document.body.appendChild(textarea); diff --git a/app/javascript/mastodon/load_polyfills.js b/app/javascript/mastodon/load_polyfills.js index 73eedc9dc..8cb81c1a6 100644 --- a/app/javascript/mastodon/load_polyfills.js +++ b/app/javascript/mastodon/load_polyfills.js @@ -18,8 +18,7 @@ function loadPolyfills() { Number.isNaN && Object.assign && Object.values && - window.Symbol && - Promise.prototype.finally + window.Symbol ); // Latest version of Firefox and Safari do not have IntersectionObserver. diff --git a/app/javascript/mastodon/main.js b/app/javascript/mastodon/main.js index da4884fd3..5d73caa10 100644 --- a/app/javascript/mastodon/main.js +++ b/app/javascript/mastodon/main.js @@ -12,7 +12,7 @@ function main() { if (window.history && history.replaceState) { const { pathname, search, hash } = window.location; const path = pathname + search + hash; - if (!(/^\/web($|\/)/).test(path)) { + if (!(/^\/web[$/]/).test(path)) { history.replaceState(null, document.title, `/web${path}`); } } -- cgit