Skip to content
Snippets Groups Projects
  1. Jan 15, 2018
  2. Nov 18, 2017
    • Eugen Rochko's avatar
      Profile redirect notes (#5746) · 58cede48
      Eugen Rochko authored
      * Serialize moved accounts into REST and ActivityPub APIs
      
      * Parse federated moved accounts from ActivityPub
      
      * Add note about moved accounts to public profiles
      
      * Add moved account message to web UI
      
      * Fix code style issues
  3. Oct 31, 2017
  4. Oct 27, 2017
  5. Oct 16, 2017
    • Nolan Lawson's avatar
      Add option to reduce motion (#5393) · fa0be3f8
      Nolan Lawson authored
      * Add option to reduce motion
      
      * Use HOC to wrap all Motion calls
      
      * fix case-sensitive issue
      
      * Avoid updating too frequently
      
      * Get rid of unnecessary change to _simple_status.html.haml
      fa0be3f8
  6. Sep 20, 2017
    • aschmitz's avatar
      Change IDs to strings rather than numbers in API JSON output (#5019) · 669fe9ee
      aschmitz authored
      * Fix JavaScript interface with long IDs
      
      Somewhat predictably, the JS interface handled IDs as numbers, which in
      JS are IEEE double-precision floats. This loses some precision when
      working with numbers as large as those generated by the new ID scheme,
      so we instead handle them here as strings. This is relatively simple,
      and doesn't appear to have caused any problems, but should definitely
      be tested more thoroughly than the built-in tests. Several days of use
      appear to support this working properly.
      
      BREAKING CHANGE:
      
      The major(!) change here is that IDs are now returned as strings by the
      REST endpoints, rather than as integers. In practice, relatively few
      changes were required to make the existing JS UI work with this change,
      but it will likely hit API clients pretty hard: it's an entirely
      different type to consume. (The one API client I tested, Tusky, handles
      this with no problems, however.)
      
      Twitter ran into this issue when introducing Snowflake IDs, and decided
      to instead introduce an `id_str` field in JSON responses. I have opted
      to *not* do that, and instead force all IDs to 64-bit integers
      represented by strings in one go. (I believe Twitter exacerbated their
      problem by rolling out the changes three times: once for statuses, once
      for DMs, and once for user IDs, as well as by leaving an integer ID
      value in JSON. As they said, "If you’re using the `id` field with JSON
      in a Javascript-related language, there is a very high likelihood that
      the integers will be silently munged by Javascript interpreters. In most
      cases, this will result in behavior such as being unable to load or
      delete a specific direct message, because the ID you're sending to the
      API is different than the actual identifier associated with the
      message." [1]) However, given that this is a significant change for API
      users, alternatives or a transition time may be appropriate.
      
      1: https://blog.twitter.com/developer/en_us/a/2011/direct-messages-going-snowflake-on-sep-30-2011.html
      
      * Additional fixes for stringified IDs in JSON
      
      These should be the last two. These were identified using eslint to try
      to identify any plain casts to JavaScript numbers. (Some such casts are
      legitimate, but these were not.)
      
      Adding the following to .eslintrc.yml will identify casts to numbers:
      
      ~~~
        no-restricted-syntax:
        - warn
        - selector: UnaryExpression[operator='+'] > :not(Literal)
          message: Avoid the use of unary +
        - selector: CallExpression[callee.name='Number']
          message: Casting with Number() may coerce string IDs to numbers
      ~~~
      
      The remaining three casts appear legitimate: two casts to array indices,
      one in a server to turn an environment variable into a number.
      
      * Back out RelationshipsController Change
      
      This was made to make a test a bit less flakey, but has nothing to
      do with this branch.
      
      * Change internal streaming payloads to stringified IDs as well
      
      Per
      https://github.com/tootsuite/mastodon/pull/5019#issuecomment-330736452
      we need these changes to send deleted status IDs as strings, not
      integers.
      669fe9ee
  7. Sep 02, 2017
  8. Aug 07, 2017
  9. Jul 27, 2017
    • Sorin Davidoi's avatar
      Improve accessibility (part 3) (#4405) · 6884dd79
      Sorin Davidoi authored
      * fix(compose): Add aria-label for the navigation links
      
      * fix(search): Add input label
      
      * fix(navigation_bar): Link description
      
      * fix(autosuggest_textarea): Add input label
      
      * fix(compose_form): Add input label
      
      * fix(upload_button): Add input label
      
      * fix(account/header): Add link content
      
      * fix(column_header): Use h1 tag
      
      * fix(column_header): Labels move buttons moving column
      
      * fix(settings_text): Add label to input
      
      * fix(column_header): Remove role from h1
      
      * fix(modal_root): Use role=dialog
      
      * fix(modal_root): Focus restauration
      
      * fix(modal_root): Apply inert to sibligs
      
      * fix(column_header): Add role=button
      
      * chore(eslint): Disable jsx-a11y/label-has-for
      6884dd79
  10. Jun 23, 2017
  11. Jun 06, 2017
  12. May 20, 2017
    • Yamagishi Kazutoshi's avatar
      Improve eslint rules (#3147) · 2e112e24
      Yamagishi Kazutoshi authored
      * Add semi to ESLint rules
      
      * Add padded-blocks to ESLint rules
      
      * Add comma-dangle to ESLint rules
      
      * add config/webpack and storyboard
      
      * add streaming/
      
      * yarn test:lint -- --fix
      2e112e24
    • Sorin Davidoi's avatar
      Performance improvements (#3168) · 2c405aed
      Sorin Davidoi authored
      * refactor(components/status_list): Avoid quering scrollTop if not necessary
      
      * refactor(components/dropdown_menu): Do not render items if not expanded
      
      * refactor: Cherry-pick react-motion imports
      
      * refactor(compose/privacy_dropdown): Do not render options if not open
      
      * refactor(components/column_collapsable): Do not render children if collapsed
      2c405aed
  13. May 19, 2017
  14. May 12, 2017
  15. May 03, 2017
    • Eugen Rochko's avatar
      Replace sprockets/browserify with Webpack (#2617) · f5bf5ebb
      Eugen Rochko authored
      * Replace browserify with webpack
      
      * Add react-intl-translations-manager
      
      * Do not minify in development, add offline-plugin for ServiceWorker background cache updates
      
      * Adjust tests and dependencies
      
      * Fix production deployments
      
      * Fix tests
      
      * More optimizations
      
      * Improve travis cache for npm stuff
      
      * Re-run travis
      
      * Add back support for custom.scss as before
      
      * Remove offline-plugin and babili
      
      * Fix issue with Immutable.List().unshift(...values) not working as expected
      
      * Make travis load schema instead of running all migrations in sequence
      
      * Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of
      React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in
      <UI />
      
      * Add react definitions to places that use JSX
      
      * Add Procfile.dev for running rails, webpack and streaming API at the same time
      f5bf5ebb
  16. Apr 23, 2017
    • Stephen Burgess's avatar
      Replace inline styles with CSS classes (BEM) (#2338) · cca41ea5
      Stephen Burgess authored
      * fix(classnames): Status icon style classnames
      
      Take out inline css and put into classnames for the following components: account, avatar, icon button, status action bar, notification.
      
      * fix(status): Move styles from inline to classes for statuses
      
      Move styles to classnames in components.scss for the following components:
      
      display name
      media gallery
      status
      status content
      video player
      
      * fix(classnames): Add classnames to rest of components
      
      Take out inline styles and apply them to classnames in the sass for the following components:
      
      button
      column back button
      slim column back button
      collapsable column
      dropdown menu
      loading indicator
      status list
      
      * fix(classnames): Remove all non-dynamic inline styles
      
      Components affected:
      
      autosuggested
      permalink
      action bar
      header
      character counter
      compose form
      emoji dropdown
      privacy dropdown
      reply indicator
      upload form
      account auth
      followers
      getting started
      column settings
      mutes
      settings
      reblogs
      status checkbox
      report
      action bar
      status
      card
      boost modal
      media modal
      video modal
      
      * fix(permalink): Do not lose classname
      
      * fix(tests): Add space back in display name
      
      * fix(status__wrapper): Remove duplicate css name
      
      Remove incorrect style attribute. Remove style attribute all together. Cursor defaults to "auto" when not specified as 'default'.
      
      * fix(nl): do not lose translations
      cca41ea5
  17. Apr 21, 2017
    • Yamagishi Kazutoshi's avatar
      Remove deprecated features at React v15.5 (#1905) · 1948f9e7
      Yamagishi Kazutoshi authored
      * Remove deprecated features at React v15.5
      
      - [x] React.PropTypes
      - [x] react-addons-pure-render-mixin
      - [x] react-addons-test-utils
      
      * Uncommented out & Add browserify_rails options
      
      * re-add react-addons-shallow
      
      * Fix syntax error from resolve conflicts
      
      * follow up 59a77923
      1948f9e7
  18. Apr 17, 2017
    • Eugen Rochko's avatar
      Adjust visuals of non-autoplaying GIFV · 42d54dc9
      Eugen Rochko authored
      42d54dc9
    • Patrick Figel's avatar
      Add gif auto-play/pause preference · ffb99325
      Patrick Figel authored
      This introduces a new per-user preference called
      "Auto-play animated GIFs", which is enabled by default. When a
      user disables this setting, gifs in toots become click-to-play.
      
      Previews of animated gifs were changed to display the video play
      button so that users can distinguish them from regular images.
      
      This setting also affects account avatars in the detailed account
      view, which was changed to use the same hover-to-play mechanism
      that is used for animated avatars in timelines.
      
      Fixes #1652
      ffb99325
  19. Apr 15, 2017
    • Zac Anger's avatar
      Add eslint-plugin-jsx-a11y (#1651) · f4045ba3
      Zac Anger authored
      * Add eslint-plugin-jsx-a11y.
      
      * Fix npm script.
      
      * Adjust npm scripts so test also runs lint.
      
      * Fix existing lint errors.
      
      * Don't break on a11y issues.
      
      * Add role and tabIndex.
      
      * Add vim and Mac files to .gitignore and .dockerignore.
      
      * Handle htmlFor (partially), a that's actually a button.
      
      * Fix missing tabIndex.
      
      * Add cursor:pointer to load-more
      
      * Revert change to load_more.
      
      * Fixes based on review.
      
      * Update yarn.lock.
      
      * Don't try to install fsevents on Linux (hides warning noise).
      f4045ba3
  20. Mar 31, 2017
  21. Feb 26, 2017
  22. Feb 20, 2017
  23. Feb 10, 2017
  24. Feb 09, 2017
  25. Feb 05, 2017
  26. Jan 07, 2017
  27. Jan 01, 2017
  28. Dec 22, 2016
  29. Nov 24, 2016
  30. Nov 23, 2016
  31. Nov 18, 2016
  32. Nov 15, 2016
  33. Nov 10, 2016
  34. Nov 07, 2016
  35. Oct 19, 2016
Loading