Commit graph

7258 commits

Author SHA1 Message Date
Eugen Rochko
97a2958ba1 Show compose form on delete & redraft when in mobile layout (#8277)
Fix #8274
2018-08-19 03:17:01 +02:00
Eugen Rochko
c28ed5d760 Do not use WHERE NOT IN in CopyStatusStats migration (#8281)
Fix #8275

As the batch operation progresses, the statuses_stats table grows,
and the WHERE NOT IN subquery becomes more expensive
2018-08-19 02:01:49 +02:00
Eugen Rochko
85990d2886 Link to mobile apps page (#8278)
Fix #8269
2018-08-19 01:17:44 +02:00
Eugen Rochko
834df855e2 Add admin function to deactivate all invites (#8279)
Fix #8261
2018-08-19 00:58:53 +02:00
Eugen Rochko
59e3ad5162 Add Makara dependency to support read-replicas (#8216)
Not active by default unless config/database.yml is edited
2018-08-18 21:06:12 +02:00
ThibG
8f788fe92a Do not process outgoing mentions to suspended accounts (#8272) 2018-08-18 19:42:13 +02:00
Spanky
f5f3f3a5d7 Fix ctrl+enter not submitting toot when text cursor is composing image description (#8273) 2018-08-18 19:40:35 +02:00
ThibG
79280c6fbe Merge pull request #649 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
2018-08-18 18:22:54 +02:00
Thibaut Girka
767cc06fe2 Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	.circleci/config.yml
	app/controllers/authorize_follows_controller.rb
	app/javascript/packs/public.js

Moved new stuff from packs/public.js to core/public.js.
Added appropriate use_pack in new controllers.
2018-08-18 18:04:49 +02:00
Thibaut Girka
c43db794e6 Various minor upload description fixes 2018-08-18 17:53:20 +02:00
Thibaut Girka
02adce1ad8 Add focal points support in the composer 2018-08-18 17:53:20 +02:00
Thibaut Girka
96e58d01ad Refactor in preparation for focal points modal 2018-08-18 17:53:20 +02:00
M Somerville
65fc3d2699 Fix #8264 - Do not override ctrl/cmd+click. (#8265)
This includes clicks on hashtags, mentions, display names and media in the
timeline; and usernames in reply-indicator, detailed status, and the boost
modal.
2018-08-18 12:50:32 +02:00
Eugen Rochko
5c32fbce98 Add "sign in to participate" message to public toot page (#8200) 2018-08-18 12:48:27 +02:00
ThibG
6852af1d03 Use CircleCI workflows for ruby dependencies (#8228)
* Add “bundle clean” suggestion from CircleCI doc

Cf. https://circleci.com/docs/2.0/caching/#bundler-ruby

* Use workspaces instead of caches for ruby gems

Cache are not guaranteed to be available, while the test jobs *require* their
depencies to run. Workspaces are thus more suitable.

One downside is that the order of workspace layer additions need to be
deterministic, which is why install-ruby{2.3,2.4} now depend on
install-ruby2.5.
2018-08-18 04:05:42 +02:00
Eugen Rochko
9e5285bfb1 Make CopyStatusStats migration use batches of 1000 to avoid locks (#8256) 2018-08-18 03:44:50 +02:00
Eugen Rochko
6eca34ffb8 Fix error when trying to update counters for statuses that are gone (#8251) 2018-08-18 03:03:23 +02:00
Eugen Rochko
273e8f0474 Add remote interaction dialog for toots (#8202)
* Add remote interaction dialog for toots

* Change AuthorizeFollow into AuthorizeInteraction, support statuses

* Update brakeman.ignore

* Adjust how interaction buttons are display on public pages

* Fix tests
2018-08-18 03:03:12 +02:00
Thibaut Girka
ec4b8564d3 Fix rails-ujs not being run on some settings pages (fixes #645) 2018-08-17 19:51:05 +02:00
ThibG
8ee1f4ea4a Merge pull request #642 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
2018-08-17 18:09:30 +02:00
Dachi Natsvlishvili
e568124315 Add Georgian language translation (#8250)
* Add Georgian language translation

* i18n-tasks normalize
2018-08-18 01:00:01 +09:00
Thibaut Girka
93ab1e6322 Temporarily revert doorkeeper back to 4.2.6
This avoids a regression within OAuth with some clients
2018-08-17 17:50:38 +02:00
Thibaut Girka
334f478db1 Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	app/models/status.rb
	db/migrate/20180528141303_fix_accounts_unique_index.rb
	db/schema.rb

Resolved by taking upstream changes (no real conflicts, just glitch-soc
specific code too close to actual changes).
2018-08-17 17:43:54 +02:00
ThibG
20ced948f2 Implement Undo { Accept { Follow } } (fixes #8234) (#8245)
* Add Follow#revoke_request!

* Implement Undo { Accept { Follow } } (fixes #8234)
2018-08-17 16:24:56 +02:00
Thibaut Girka
7c8a8cda81 [Glitch] Defer scrollIntoView after DOM is drawn 2018-08-17 14:46:37 +02:00
ThibG
c16294d20a Use correct activity id in Accept when receiving duplicate Follow (fixes #8218) (#8244) 2018-08-17 14:08:17 +02:00
ThibG
02436523de Defer scrollIntoView after DOM is drawn (fixes #8239) (#8242) 2018-08-17 14:07:38 +02:00
Thibaut Girka
a1ee3d464f Fix incorrect prop type for ComposerReply.status 2018-08-16 21:19:20 +02:00
Thibaut Girka
cf36cd40eb Fix one GettingStarted ColumnLink not having a key 2018-08-16 20:59:12 +02:00
Thibaut Girka
ad7e23cc32 Split custom filter migration script using the post-deployment migration system
There were some concerns with the custom filter migration script dropping a table,
thus making it unsafe to run in a zero-downtime setting. Upstream introduced
a way to run migrations after deployment, so revisit the old migration script to
make use of this.
2018-08-16 20:30:09 +02:00
ThibG
c97c032ae6 Prevent actions log from crashing when displaying deleted status (fixes #8133) (#8219) 2018-08-16 20:05:26 +02:00
ThibG
8cc34321d5 Do not error out when performing admin actions on no statuses (#8220)
Fixes the other issue with #8168
2018-08-16 20:02:52 +02:00
Eugen Rochko
d9f9083f26 Update reply counters only if the reply is public/unlisted (#8211) 2018-08-16 14:21:52 +02:00
ThibG
9fd9bff404 Fix admin.js starting rails-ujs twice (fixes #8168) (#8213) 2018-08-15 23:38:31 +02:00
ThibG
d329c3ab5e Fix FixAccountsUniqueIndex migration (#8212) 2018-08-15 20:23:12 +02:00
ThibG
f17d517aec Get rid of the Content Warning rainbows (#8129)
* Disable the animated rainbow text when the “Reduce motion” setting is set

* Get rid of the Content Warning rainbows

* Revert to default color for CWs in admin view

Since that colorscheme is apparently broken for some colorblind people.

* Use HTML5's details and summary for statuses with CWs in admin interface
2018-08-15 19:38:56 +02:00
ThibG
fff6297a24 Allow accessing local private/DM messages by URL (#8196)
* Allow accessing local private/DM messages by URL

(Provided the user pasting the URL is authorized to see the toot, obviously)

* Fix SearchServiceSpec tests
2018-08-15 19:33:36 +02:00
Eugen Rochko
6a62016a49 Display replies count in web UI (#8181) 2018-08-15 19:29:52 +02:00
Immae
cbaabe0215 Add ldap search filter (#8151) 2018-08-15 18:12:44 +02:00
Thibaut Girka
919bd0842d Slightly more aggressive video preloading
- Preload video metadata if the video is loaded in detailed view, as it is
  likely to get played, and metadata is useful for seeking in the video.
- Preload video data if it's fullscreen as it is extremely likely to get
  played right after being put in fullscreen (although those are two steps).
- Preload video data if the user has clicked the position slider, as the video
  will play as soon as the mouse button is released, and video metadata is
  needed to properly seek into the video.
2018-08-14 21:56:23 +02:00
Thibaut Girka
99b2e034c2 Fix bug when clicking on video position slider before starting the video 2018-08-14 21:56:23 +02:00
Thibaut Girka
2f73a9358e Prevent default event handling when clicking on the video position slider
This prevents accidental text selection and avoids opening the toot containing
the video in the dynamic column when clicking on the position slider.
2018-08-14 21:56:23 +02:00
Eugen Rochko
55094f6941 Show exact number of followers/statuses on export page/in tooltip (#8199)
* Show exact number of followers/statuses on export page/in tooltip

* Fix tests
2018-08-14 21:56:17 +02:00
ThibG
c7a0a6d61c Various fixes regarding the video position slider (#8201)
* Prevent default event handling when clicking on the video position slider

This prevents accidental text selection when clicking on the position slider.

* Fix bug when clicking on video position slider before starting the video

* Slightly more aggressive video preloading

- Preload video metadata if the video is loaded in detailed view, as it is
  likely to get played, and metadata is useful for seeking in the video.
- Preload video data if it's fullscreen as it is extremely likely to get
  played right after being put in fullscreen (although those are two steps).
- Preload video data if the user has clicked the position slider, as the video
  will play as soon as the mouse button is released, and video metadata is
  needed to properly seek into the video.
2018-08-14 21:51:17 +02:00
Eugen Rochko
659556ab1f Upgrade Doorkeeper to 4.4.1 (#8197) 2018-08-14 20:24:47 +02:00
Eugen Rochko
15c77f178f Fix null constraint violation in copy status stats migration (#8198) 2018-08-14 20:24:36 +02:00
Eugen Rochko
bf5acc3eae Move status counters to separate table, count replies (#8104)
* Move status counters to separate table, count replies

* Migration to remove old counter columns from statuses table

* Fix schema file
2018-08-14 19:19:32 +02:00
Eugen Rochko
5e1e9753c3 Add post-deployment migration system (#8182)
Adopted from GitLab CE. Generate new migration with:

    rails g post_deployment_migration name_of_migration_here

By default they are run together with db:migrate. To not run them,
the env variable SKIP_POST_DEPLOYMENT_MIGRATIONS must be set

Code by Yorick Peterse <yorickpeterse@gmail.com>, see also:

83c8241160
2018-08-13 18:17:20 +02:00
Evgeny Petrov
86183968b4 Added endorse strings, fixed footer 'developers' string (#8183) 2018-08-13 18:17:20 +02:00
Eugen Rochko
9a1cf4a558 Expect relays to answer with accept/reject (#8179) 2018-08-13 18:17:20 +02:00