Compare commits

...

2651 Commits

Author SHA1 Message Date
Dennis Schubert
49f3442f64 Merge branch 'next-minor' into develop 2025-06-22 14:41:04 +02:00
Dennis Schubert
aadd8396cc Update open_graph_reader to 0.9.1 and set new config flag.
closes #8465
2025-06-22 14:40:56 +02:00
Dennis Schubert
251e4329c5 Merge branch 'next-minor' into develop 2025-04-13 18:09:23 +02:00
flaburgan
452f46a548 Add reported user diaspora ID in /report view
closes #8464
2025-04-13 18:09:15 +02:00
Dennis Schubert
c2589f10cc Merge branch 'next-minor' into develop 2025-01-23 22:21:26 +01:00
Dennis Schubert
c24ca7d56c Update open_graph_reader to 0.8.0
closes #8463
2025-01-23 22:21:21 +01:00
Benjamin Neff
e569ec72c7 Merge branch 'next-minor' into develop 2025-01-23 01:36:16 +01:00
flaburgan
d26b917e6f Update diaspora.toml.example
closes #8462
2025-01-23 01:36:10 +01:00
Benjamin Neff
0ea682b1d5 Merge branch 'next-minor' into develop 2025-01-11 00:48:59 +01:00
Benjamin Neff
3fcd5708e9 Revert "Start 1.0.0 cycle (again)" on next-minor
This reverts commit 094cb73b05.
2025-01-11 00:47:25 +01:00
Dennis Schubert
b9c36fadfd Add Changelog entry for #8460...
Nobody saw anything! This commit does not exist!
2025-01-10 23:31:53 +01:00
Dennis Schubert
150331ec9d Merge pull request #8460 from denschub/bump-imagemagick-disk-limit 2025-01-10 23:28:32 +01:00
Dennis Schubert
eede6e0f68 Allow ImageMagick to use 1GiB of disk caches
This matches the "websafe" upstream preset[0], and our current limit is too low for high-noise images (like a scene full of snow).

[0]: c7d070ec65/config/policy-websafe.xml (L58)
2025-01-10 23:07:21 +01:00
Benjamin Neff
37096d9c88 Merge branch 'next-minor' into develop 2024-09-05 01:39:56 +02:00
Daniel Black
53b9e3cbf3 docker-compose.yml - bump mariadb version
Noted its not the primary development environment, but 10.9 is out of support so just keep the the LTS tag.

MARIADB_AUTO_UPGRADE=1 facilitates in place upgrades.

closes #8452
2024-09-05 01:39:30 +02:00
Benjamin Neff
094cb73b05 Start 1.0.0 cycle (again) 2024-06-16 02:37:05 +02:00
Benjamin Neff
83a97420d9 Start 0.9.1.0 cycle 2024-06-16 02:35:30 +02:00
Benjamin Neff
94a72e1108 Merge branch 'release/0.9.0.0' 2024-06-16 02:25:33 +02:00
Benjamin Neff
d81aa12d54 Prepare 0.9.0.0 release and replace 1.0 version numbers 2024-06-16 01:45:50 +02:00
Benjamin Neff
7355df5202 updated 250 locale files [ci skip]
The script changed from old unmaintained ya2yaml (which is broken with
current ruby version) to default `to_yaml` from ruby. That's why the
diff is "a bit" bigger than usual, because it looks like some keys are
sorted differently.
2024-06-16 00:53:29 +02:00
Benjamin Neff
70e293ba94 Add rack-attack to throttle login actions
This also fixes CVE-2024-0227 for 2FA brute force

See: https://blog.inhq.net/posts/totp-CVE-2024-0227/
2024-06-15 18:32:09 +02:00
Benjamin Neff
0d41b7ca13 Merge pull request #8449 from denschub/blindness
Replace eye with foreman.
2024-06-09 03:17:39 +02:00
Dennis Schubert
619722490c Replace eye with foreman. 2024-06-09 02:01:38 +02:00
Benjamin Neff
fddfd8b8c0 Merge pull request #8363 from cmrd-senya/fix-api-tags-stream-to-hide-ignores
API: update Search endpoint to be aware of ignored users
2024-06-05 01:06:26 +02:00
Benjamin Neff
c3eaa212af Merge pull request #8406 from Flaburgan/6184-service-disabled
Do not show the service to the user if it is disabled, fixes #6184

Fixes #6184
2024-06-05 01:04:00 +02:00
Benjamin Neff
7ec2a68256 Merge pull request #8439 from jhass/feature/comment_likes_api
add API routes for comment likes
2024-06-05 01:01:52 +02:00
Benjamin Neff
80beedfe63 Merge pull request #8442 from Flaburgan/mark-like-on-comment-notifications-as-read
Mark Likes on comment notifications as read when visiting a post
2024-06-05 01:01:04 +02:00
Benjamin Neff
cc50077188 Merge pull request #8448 from SuperTux88/gem-updates
Update dependencies and ruby version
2024-06-05 00:55:00 +02:00
Benjamin Neff
07f6a91d02 Upgrade to ruby 3.3 2024-06-05 00:35:48 +02:00
Benjamin Neff
02f8629254 Fix Person spec to prepare ruby upgrade 2024-06-05 00:35:48 +02:00
Benjamin Neff
8b6adee359 Bump perfect-scrollbar 2024-06-05 00:35:48 +02:00
Benjamin Neff
7a8bc40bb8 Bump highlightjs 2024-06-05 00:35:48 +02:00
Benjamin Neff
69637608e8 Bump fine-uploader 2024-06-05 00:35:48 +02:00
Benjamin Neff
14ddc750d0 Bump cropperjs 2024-06-05 00:35:48 +02:00
Benjamin Neff
794545278b Bump corejs-typeahead 2024-06-05 00:35:47 +02:00
Benjamin Neff
195be4fc83 Bump backbone 2024-06-05 00:35:47 +02:00
Benjamin Neff
342b82dfd2 Bump autosize 2024-06-05 00:35:47 +02:00
Benjamin Neff
2f78f97ded Bump other dependencies not directly in Gemfile 2024-06-05 00:35:47 +02:00
Benjamin Neff
7726855d1c Bump cucumber-rails 2024-06-05 00:34:02 +02:00
Benjamin Neff
4d38b8592f Bump rspec-rails 2024-06-05 00:34:02 +02:00
Benjamin Neff
6321215bb4 Bump webmock 2024-06-05 00:34:02 +02:00
Benjamin Neff
e8fc097728 Bump timecop 2024-06-05 00:34:02 +02:00
Benjamin Neff
fbdb9edbf2 Bump shoulda-matchers 2024-06-05 00:34:01 +02:00
Benjamin Neff
781fda001b Bump factory_bot_rails 2024-06-05 00:34:01 +02:00
Benjamin Neff
140168ea2d Bump cuprite 2024-06-05 00:34:01 +02:00
Benjamin Neff
f1523b0260 Bump capybara 2024-06-05 00:34:01 +02:00
Benjamin Neff
2878537ca0 Bump listen 2024-06-05 00:34:01 +02:00
Benjamin Neff
1bf1b7bda1 Bump rubocop and rubocop-rails 2024-06-05 00:34:01 +02:00
Benjamin Neff
7e8bf20299 Bump pronto 2024-06-05 00:34:01 +02:00
Benjamin Neff
2e5224c50d Bump haml_lint 2024-06-05 00:34:01 +02:00
Benjamin Neff
dc83503868 Bump asset_sync 2024-06-05 00:34:01 +02:00
Benjamin Neff
ddc1f65b57 Bump minitest 2024-06-05 00:34:01 +02:00
Benjamin Neff
34c2b87ed7 Bump typhoeus 2024-06-05 00:34:01 +02:00
Benjamin Neff
e7549a07e2 Bump faraday-typhoeus 2024-06-05 00:34:01 +02:00
Benjamin Neff
68575f6c58 Bump faraday 2024-06-05 00:34:01 +02:00
Benjamin Neff
2123e1f311 Bump addressable 2024-06-05 00:34:00 +02:00
Benjamin Neff
e64cd6038c Bump acts-as-taggable-on 2024-06-05 00:34:00 +02:00
Benjamin Neff
a1abcdb1c0 Bump active_model_serializers 2024-06-05 00:34:00 +02:00
Benjamin Neff
027c0420c9 Bump openid_connect 2024-06-05 00:34:00 +02:00
Benjamin Neff
1c621dc999 Bump omniauth and omniauth-rails_csrf_protection 2024-06-05 00:34:00 +02:00
Benjamin Neff
12e21555ee Bump ruby-oembed 2024-06-05 00:34:00 +02:00
Benjamin Neff
84794a1b25 Bump nokogiri 2024-06-05 00:34:00 +02:00
Benjamin Neff
e8a374a16d Bump leaflet-rails 2024-06-05 00:34:00 +02:00
Benjamin Neff
046280c480 Bump rails-i18n 2024-06-05 00:34:00 +02:00
Benjamin Neff
813e44c0a9 Bump jquery-ui-rails 2024-06-05 00:34:00 +02:00
Benjamin Neff
dcd29a6968 Bump jquery-rails and jquery 2024-06-05 00:34:00 +02:00
Benjamin Neff
769c6b1a8c Bump js-routes 2024-06-05 00:34:00 +02:00
Benjamin Neff
a080d2a01a Bump fog-aws 2024-06-05 00:34:00 +02:00
Benjamin Neff
541da9f682 Bump carrierwave
Carrierwave 3.0.4 cleans the original_filename after store, but we can
still get the original filename from the file directly.
2024-06-05 00:33:58 +02:00
Benjamin Neff
016b2f15c5 Bump activerecord-import 2024-06-05 00:25:29 +02:00
Benjamin Neff
cb0c02f9f2 Bump pg 2024-06-05 00:24:54 +02:00
Benjamin Neff
47b7181061 Bump mysql2 2024-06-05 00:24:54 +02:00
Benjamin Neff
2c34f271d9 Bump autoprefixer-rails 2024-06-05 00:24:54 +02:00
Benjamin Neff
0615ac112b Bump rack-cors 2024-06-05 00:24:54 +02:00
Benjamin Neff
7dc1e2d026 Bump toml-rb 2024-06-05 00:24:53 +02:00
Benjamin Neff
abb59cc1b4 Bump configurate 2024-06-05 00:24:53 +02:00
Benjamin Neff
5eec93d2ef Bump terser 2024-06-05 00:24:53 +02:00
Benjamin Neff
d390499e86 Bump sidekiq and sidekiq-cron 2024-06-05 00:24:53 +02:00
Benjamin Neff
630b70bcf0 Bump devise 2024-06-05 00:24:53 +02:00
Benjamin Neff
61592cca67 Bump json-schema 2024-06-05 00:24:53 +02:00
Benjamin Neff
9ed57596c1 Bump json 2024-06-05 00:24:53 +02:00
Benjamin Neff
7910103f60 Bump puma 2024-06-05 00:24:53 +02:00
Benjamin Neff
eb12b5596c Bump responders 2024-06-05 00:24:53 +02:00
Benjamin Neff
5e13a7208d Bump rails 2024-06-05 00:24:50 +02:00
Benjamin Neff
4b49270be7 Simplify comment and post validation
It's enough to check if the comment exists on the specified post, if it
doesn't exist at all, that check will also fail.

Also do that check directly on SQL level and just check if the comment
exist instead of looping through all comments.
2024-06-05 00:14:31 +02:00
Benjamin Neff
649d8c5b56 Mark notifications as read in a single SQL query
There is no need to load all comments only to count them. Lets just let
the database do all the work. If there are no comments found, nothing
will happen anyway.

Also already filter the comments to only search for notifications for
own comments.

And add some tests :)
2024-06-03 00:11:45 +02:00
Benjamin Neff
52424fba6d Add available_services helper to be used for desktop and mobile 2024-06-02 05:08:29 +02:00
Benjamin Neff
a83d34dcda Bump bundler to match ruby 3.1.5 2024-05-30 02:28:34 +02:00
flaburgan
71e6f20740 Mark Likes on comment notifications as read when visiting a post 2024-02-11 18:40:29 +01:00
flaburgan
14cf4ff85d Do not show the service to the user if it is disabled, fixes #6184 2024-02-11 17:12:02 +01:00
Benjamin Neff
ae3b7804f0 Merge pull request #8441 from SuperTux88/fix-fetch-comments
Allow fetching comments
2024-01-24 01:03:08 +01:00
Benjamin Neff
7cc48bec54 Merge pull request #8285 from Flaburgan/revamped-registrations
New registration page
2024-01-24 01:00:11 +01:00
Benjamin Neff
9e61693e20 Allow fetching comments
Now with likes on comments, diaspora also tries to fetch comments if it
receives a like for a comment it doesn't know yet. So this now also
allows to fetch comments with `/fetch/comment/<guid>`.
2024-01-21 23:30:51 +01:00
Jonne Haß
1e1130e211 add API routes for comment likes 2023-11-24 18:12:59 +01:00
flaburgan
89f906b1b1 Fix horizontal scroll and captcha on mobile, host for user id 2023-11-13 22:13:44 +01:00
flaburgan
7782a32921 New registration page, mentionning the import, fixes #8009 2023-11-13 21:06:20 +01:00
Benjamin Neff
389b1870d3 Merge pull request #8437 from SuperTux88/fix-photo-export-spec
Ensure image processing gets disabled again, even after exceptions
2023-11-13 02:32:57 +01:00
Benjamin Neff
42ffd6322f Merge pull request #8203 from tclaus/2999-likes-comment
Re-introduce likes on comments
2023-11-13 02:32:43 +01:00
Benjamin Neff
686f67d2f8 Merge pull request #8035 from Flaburgan/improve-report-form
Add a more detailed modal when reporting a post or a comment
2023-11-13 02:31:20 +01:00
Benjamin Neff
b0c196aea0 Add notifications for likes on comments 2023-11-13 02:27:55 +01:00
Benjamin Neff
3e1407d242 Fix comments not being lazy loaded in streams anymore 2023-11-13 02:27:55 +01:00
Benjamin Neff
df8275f000 Fix participations for likes on comments in the backend
When liking a comment, the post also gets a participation, and if all
likes/comments get removed again, the participation also gets removed
again.

The only thing still not working properly is the frontend, but that is
already broken when unliking a post. So it shows an invalids state in
the frontend when unliking the post/comment.
2023-11-13 02:27:55 +01:00
Benjamin Neff
edfb603965 Fix API v1 schema for likes on comments and add test 2023-11-13 02:27:55 +01:00
flaburgan
5153534f4c Fix pronto in Ruby 2023-11-13 02:27:55 +01:00
flaburgan
1b2f85c384 Improve styling for mobile comments 2023-11-13 02:27:55 +01:00
Benjamin Neff
71d071be60 Only show heart icon when avatars are shown for comment likes 2023-11-13 02:27:55 +01:00
Benjamin Neff
ad6c9dd55f Fix styling and spacing for likes on comments 2023-11-13 02:27:55 +01:00
Thorsten Claus
9c0f8cdf11 Dont send all likes with list of comments
Due to historic reasons with a comment the list of all likes was sent to the frontend.
This is needed just to detect if one of the likes is current users like.
So if sending just the own like, the frontend can do it's job.

When the frontend is refactured in any way, post and comment like handling should be improved.
2023-11-13 02:27:55 +01:00
Thorsten Claus
c2a2fb63b0 In API dont fetch liked from all comments 2023-11-13 02:27:55 +01:00
Thorsten Claus
67f8ba5d57 Refacor files namespaces 2023-11-13 02:27:55 +01:00
Thorsten Claus
9b19be18f2 Adding eventhandler for Mobile views 2023-11-13 02:26:59 +01:00
Thorsten Claus
06a0dc68a9 Enabled likes-on-comments in mobile view 2023-11-13 02:26:59 +01:00
Thorsten Claus
35f1cd61b1 set correct comment like avatar by removing size 2023-11-13 02:26:59 +01:00
flaburgan
8d6548b610 Introduce like-interactions.js
Adapt to latest development

User likes
 Set css class for inline likes on comment

Re-set participation on comment likes

Co-authored-by: Thorsten Claus <ThorstenClaus@web.de>
2023-11-13 02:26:59 +01:00
flaburgan
82ff57a750 Bring back likes on comments 2023-11-13 02:26:59 +01:00
Benjamin Neff
4f798fc5d8 Ensure image processing gets disabled again, even after exceptions
Otherwise this leaves it enabled if the processing failed, which then
makes other specs fail where they expect the image not being processed
(for example still have the initial set dimensions, instead of the one
read from image after processing).
2023-11-13 01:36:54 +01:00
flaburgan
587e106095 Add a more detailed modal when reporting a post or a comment 2023-11-13 00:15:33 +01:00
Dennis Schubert
bb882daeae Merge branch 'pr8436' into develop 2023-10-16 15:22:50 +02:00
Wladimir Palant
c791421280 Allow CORS requests to nodeinfo endpoint 2023-10-16 12:11:42 +02:00
Dennis Schubert
744f5449fb Merge branch 'next-minor' into develop 2023-07-10 01:19:08 +02:00
Dennis Schubert
f042f5d490 Merge branch 'hotfix/0.7.18.2' 2023-07-10 01:13:45 +02:00
Dennis Schubert
42b835f0c0 Enforce an ImageMagick policy.xml for all pods.
This fix was heavily inspired by Mastodon's fix for GHSA-9928-3cp5-93fm.
So, thank you Cure53 for finding this issue, thank you Mozilla for
paying Cure53 to look into it, and thanks for Mastodon for fixing it.
2023-07-10 01:12:36 +02:00
Benjamin Neff
8d38193096 Merge pull request #8434 from SuperTux88/fix-pumactl-restart
Silence warning about unused callbacks to fix pumactl restart
2023-06-30 01:40:39 +02:00
Benjamin Neff
994f003b5f Silence warning about unused callbacks
The callbacks aren't used in cluster mode, and puma prints a warning
about that. This is fine, we don't need the callbacks in single-mode,
but can still keep it, in case somebody switches on cluster mode.

The problem is, the current puma version has a bug, where pumactl
crashes when trying to print these warnings, so lets just silence the
warnings. People running in single mode also don't need to care about
the warnings anyway.
2023-06-29 03:14:32 +02:00
Dennis Schubert
49198904f3 Merge pull request #8433 from SuperTux88/add-faraday-retry-for-pronto
Add 'faraday-retry' to Gemfile to be used by pronto/octokit
2023-06-29 01:44:47 +02:00
Benjamin Neff
28b7a62939 Add 'faraday-retry' to Gemfile to be used by pronto/octokit
This prevents a "To use retry middleware with Faraday v2.0+, install
`faraday-retry` gem" warning whenever pronto runs.
2023-06-28 21:59:02 +02:00
Benjamin Neff
f05d9bac69 Merge pull request #8432 from SuperTux88/downgrade-sidekiq
Downgrade sidekiq to latest 6.x version
2023-06-28 21:28:57 +02:00
Benjamin Neff
14c4010471 Downgrade sidekiq to latest 6.x version
Sidekiq 7 requires redis 6.2+, which isn't available in a lot of distros
yet :( So lets wait with this for a while.

This partially reverts commit a59505574a.
2023-06-28 14:05:55 +02:00
Benjamin Neff
040e1dc9ee Merge pull request #8431 from SuperTux88/gem-updates
Updating all ruby dependencies to current versions
2023-06-28 02:38:50 +02:00
Benjamin Neff
7a8e1fe2d5 Bump other dependencies not directly in Gemfile 2023-06-28 01:19:37 +02:00
Benjamin Neff
c665d01cc5 Bump openid_connect 2023-06-28 01:19:37 +02:00
Benjamin Neff
62fdac807e Bump faraday 2023-06-28 01:19:37 +02:00
Benjamin Neff
1bd0c7bb2d Bump cucumber-rails 2023-06-28 01:19:37 +02:00
Benjamin Neff
c5699b7a43 Bump rspec-rails 2023-06-28 01:19:37 +02:00
Benjamin Neff
bdfaff5009 Bump webmock 2023-06-28 01:19:37 +02:00
Benjamin Neff
50422c5902 Bump timecop 2023-06-28 01:19:37 +02:00
Benjamin Neff
313e96d5c3 Bump shoulda-matchers 2023-06-28 01:19:37 +02:00
Benjamin Neff
00b1ed3e76 Bump database_cleaner-active_record 2023-06-28 01:19:37 +02:00
Benjamin Neff
302bd03923 Bump listen 2023-06-28 01:19:37 +02:00
Benjamin Neff
3c3d73fedb Bump simplecov 2023-06-28 01:19:36 +02:00
Benjamin Neff
f2c0688aed Bump haml_lint 2023-06-28 01:19:36 +02:00
Benjamin Neff
d180cd2eaf Bump rubocop 2023-06-28 01:19:36 +02:00
Benjamin Neff
dbc095c895 Bump pronto-rubocop 2023-06-28 01:19:36 +02:00
Benjamin Neff
4fbd5b226b Bump pronto-eslint 2023-06-28 01:19:36 +02:00
Benjamin Neff
d37193f24c Bump pronto 2023-06-28 01:19:36 +02:00
Benjamin Neff
e3149bdea8 Bump asset_sync 2023-06-28 01:19:36 +02:00
Benjamin Neff
bb8486eec5 Bump minitest 2023-06-28 01:19:36 +02:00
Benjamin Neff
7cefa8577a Bump will_paginate 2023-06-28 01:19:36 +02:00
Benjamin Neff
64887e75c5 Bump hamlit 2023-06-28 01:19:36 +02:00
Benjamin Neff
a33803ac19 Bump addressable 2023-06-28 01:19:36 +02:00
Benjamin Neff
9f5d2a8ac6 Bump active_model_serializers 2023-06-28 01:19:36 +02:00
Benjamin Neff
ab08d97dda Bump twitter 2023-06-28 01:19:36 +02:00
Benjamin Neff
4068de6d75 Bump omniauth 2023-06-28 01:19:36 +02:00
Benjamin Neff
8ccca9609f Bump secure_headers 2023-06-28 01:19:35 +02:00
Benjamin Neff
386717b6c4 Bump redcarpet 2023-06-28 01:19:35 +02:00
Benjamin Neff
a7320a872c Bump nokogiri 2023-06-28 01:19:35 +02:00
Benjamin Neff
f8fe914212 Bump leaflet-rails 2023-06-28 01:19:35 +02:00
Benjamin Neff
184bd7c7fd Bump rails-i18n 2023-06-28 01:19:35 +02:00
Benjamin Neff
abedbf10bd Bump js-routes 2023-06-28 01:19:35 +02:00
Benjamin Neff
8184031c4a Bump mini_magick 2023-06-28 01:19:35 +02:00
Benjamin Neff
3aa44edd49 Bump fog-aws 2023-06-28 01:19:35 +02:00
Benjamin Neff
211f34806b Bump activerecord-import 2023-06-28 01:19:35 +02:00
Benjamin Neff
26b99671c4 Bump pg 2023-06-28 01:19:35 +02:00
Benjamin Neff
ed51a17ea6 Bump mysql2 2023-06-28 01:19:35 +02:00
Benjamin Neff
509b302073 Bump autoprefixer-rails 2023-06-28 01:19:35 +02:00
Benjamin Neff
462d3936a1 Bump rack-cors 2023-06-28 01:19:35 +02:00
Benjamin Neff
7d7305028d Bump toml-rb 2023-06-28 01:19:35 +02:00
Benjamin Neff
c11928111d Bump terser 2023-06-28 01:19:35 +02:00
Benjamin Neff
a59505574a Bump sidekiq, sidekiq-cron and migrate to redis-client
This breaks compatibility with redis <6
2023-06-28 01:19:34 +02:00
Benjamin Neff
cc4d2e0832 Bump rqrcode 2023-06-28 00:54:05 +02:00
Benjamin Neff
19c48d5738 Bump devise-two-factor 2023-06-28 00:54:05 +02:00
Benjamin Neff
906cc19eb0 Bump devise 2023-06-28 00:54:05 +02:00
Benjamin Neff
ab02c86fa8 Bump json-schema 2023-06-28 00:54:05 +02:00
Benjamin Neff
dbe644ede6 Bump json 2023-06-28 00:54:05 +02:00
Benjamin Neff
ebcbdd823c Bump diaspora_federation 2023-06-28 00:54:05 +02:00
Benjamin Neff
a784e32840 Bump puma 2023-06-28 00:54:05 +02:00
Benjamin Neff
c286123cc1 Bump responders 2023-06-28 00:54:05 +02:00
Benjamin Neff
033492f2ab Bump rails 2023-06-28 00:54:03 +02:00
Dennis Schubert
6288fe3dde Merge pull request #8429 from denschub/prontohub
[CI] Run Pronto on GitHub Actions.
2023-06-15 16:17:30 +02:00
Dennis Schubert
78925beec5 [CI] Run Pronto on GitHub Actions. 2023-06-14 21:52:26 +02:00
Dennis Schubert
6430aa3bad Merge pull request #8428 from denschub/hackaround-flaky-cuke
Attempt at un-flaky'ing the `preview a very long message` cucumber scenario
2023-06-13 15:24:54 +02:00
Dennis Schubert
c095959e6a [CI] Make the extremely long status message less long.
The old message, being 2048 chars long, apparently sometimes tripped up
Ferrum or Chrome itself. The new, shorter, message does that less or not
at all. It's still long enough, though, as the way we determine if a
status message is "too long" is by height only, so line-breaks work.
2023-06-13 05:00:29 +02:00
Benjamin Neff
3b07b16962 Merge pull request #8427 from SuperTux88/gem-updates
Bump net-* gems and digest
2023-06-12 05:04:10 +02:00
Benjamin Neff
f420a78a79 Bump net-* gems and digest
I don't know why it pinned them to older versions when adding them, lets
use the latest versions instead.
2023-06-12 04:35:45 +02:00
Benjamin Neff
b34a184b0a Merge pull request #8426 from SuperTux88/add-ruby-3.1
Add ruby 3.1, drop ruby 2.7
2023-06-12 04:07:09 +02:00
Benjamin Neff
297fd722ab Bump jwt and json-jwt to support openssl 3.0 2023-06-12 03:39:18 +02:00
Benjamin Neff
9dfce77a4d Remove workaround required to load YAML with ruby 2.7 and 3.1
This works now with ruby >= 3.0
2023-06-12 02:51:41 +02:00
Benjamin Neff
faf9390e70 Add ruby 3.1, drop ruby 2.7 2023-06-12 02:51:16 +02:00
Benjamin Neff
72e1daa5e3 Bump capybara for ruby 3.1
The matrix gem was removed from ruby 3.1, but was required for capybara,
but the current version added it as a dependency.
2023-06-12 02:25:26 +02:00
Benjamin Neff
7934f3e916 Add mail protocol gems
This is required for ruby 3.1 with rails 6.1, as they were removed from
being bundled with ruby 3.1. It can be removed with rails 7 again, as
they were added as a dependency to rails 7.
2023-06-12 02:25:07 +02:00
Benjamin Neff
9cdfd3a55b Merge pull request #8425 from jhass/8424_fix_yaml_load
Use YAML.unsafe_load_file when available in bundler helper
2023-06-12 01:57:45 +02:00
Jonne Haß
324851eeb5 Use YAML.unsafe_load_file when available in bundler helper
fixes #8424
2023-06-11 12:53:27 +02:00
Dennis Schubert
7ce4309fcb Merge pull request #8423 from SuperTux88:update-carrierwave-ruby-3
Update carrierwave and add ruby 3.0 support
2023-06-11 03:31:16 +02:00
Benjamin Neff
ae813f0cf2 Enable ruby 3.0 on CI and switch default to 3.0 2023-06-10 20:30:26 +02:00
Benjamin Neff
d790e3dcba Bump scss_lint and rake
Old rake version didn't work with ruby 3.0 in docker
2023-06-10 19:56:22 +02:00
Benjamin Neff
3c10dbc547 Bump carrierwave 2023-06-10 19:09:53 +02:00
Benjamin Neff
0a545c7092 Merge pull request #8422 from SuperTux88/fix-checkout-deprecation-warning
Upgrade to actions/checkout@v3 to get rid of deprecation warning
2023-06-10 17:27:11 +02:00
Benjamin Neff
02182e3b59 Merge pull request #8421 from SuperTux88/cleanup-from-header-unicode-emojis
Cleanup unicode emojis from email headers
2023-06-10 17:26:48 +02:00
Benjamin Neff
cf49899069 updated 6 locale files [ci skip] 2023-06-10 17:22:19 +02:00
Benjamin Neff
d5a338ad0e Merge pull request #8420 from SuperTux88/remove-i18n-inflector-rails
Remove i18n-inflector-rails dependency
2023-06-10 17:13:15 +02:00
Benjamin Neff
5ce5cfdecf Upgrade to actions/checkout@v3 to get rid of deprecation warning 2023-06-10 05:35:31 +02:00
Benjamin Neff
5508401ed8 Don't modify default translations when merging with other language
`deep_merge!` modifies the hash of the default translation, and it looks
like `I18n.t` always returns the same instance, so after that, the
default stays translated. So lets duplicate the hash first, before
modifying it, this also helps because we also add more keys below, which
probably also shouldn't be added to the original.
2023-06-10 05:00:27 +02:00
Benjamin Neff
dc9a18e24d Cleanup unicode emojis from email headers
Some email providers (for example gmail) block emails if they have
emojis in the from header, as they could be confused with UI elements.
So the easy solution is to just filter all emojis from the name.

The normal `\p{Emoji}` selector also matches normal numbers, because of
the emoji-version of numbers (1️⃣), but the `\p{Emoji_Presentation}` then
doesn't match colored emojis anymore (❄️), so we need a mix of both to
find all emojis
2023-06-09 04:20:15 +02:00
Benjamin Neff
6f802417c6 Remove i18n-inflector-rails dependency
There are no new releases anymore and the current version isn't
compatible with ruby 3.x.

As this feature wasn't really used a lot (Icelandic didn't even setup
inflections properly), it's probably not worth fighting for it, so lets
just drop it.

Related to #8369
2023-06-09 01:13:16 +02:00
Benjamin Neff
87f17fe907 Merge pull request #8418 from SuperTux88/switch-to-cuprite
Switch from apparition to cuprite driver
2023-06-08 22:58:29 +02:00
Benjamin Neff
8ebfd4892f Merge pull request #8419 from SuperTux88/podman-build
Use podman to build when installed and configured
2023-06-08 22:52:37 +02:00
Benjamin Neff
e7e3d3c326 Use podman to build when installed and configured
I had problems when trying to build with podman with docker-compose 2.x,
but it works when just calling the `podman build` command directly
instead.
2023-06-07 02:46:28 +02:00
Benjamin Neff
bb7e5a369d Correctly escape username pattern regex
Without the escaping, the backslash doesn't get renderet in the frontend
which leads to some browsers (chrome >= 114?) just allowing every input.
2023-06-05 23:35:31 +02:00
Benjamin Neff
5425f5cfa6 Switch from apparition to cuprite driver
Apparition4 isn't really maintained anymore and there are no new releases
and it always logs a lot of errors, making the output hard to read.

So lets switch to cuprite, as it also supports everything we need and is
still maintained.

Supersedes #8330
2023-06-05 23:34:52 +02:00
Benjamin Neff
ce32a7d16b Merge pull request #8409 from tclaus/add_app_smart_banner
Add app smart banner to web site when using an iOS device
2023-06-04 21:38:34 +02:00
Benjamin Neff
e29f9e2fa2 Merge pull request #8410 from SuperTux88/allow-DOCKER_HOST-env-var
Allow DOCKER_HOST env var for diaspora-dev docker setup
2023-06-04 21:35:07 +02:00
Benjamin Neff
6510bafa88 Merge pull request #8417 from SuperTux88/remove-strip_exif-flag
Always strip exif data and drop user setting for it
2023-06-04 21:30:01 +02:00
Benjamin Neff
11107ee637 Fix chrome parameters for running jasmine
Yes, I know this is a very ugly workaround, but it works ...

Chrome now requires to add `about:blank` as parameter to open and be
able to use remote debugging. The jasmine-gem isn't supported anymore,
and we need to switch to the `jasmine-browser-runner`, I was working on
that a few months ago, but ran into problems.

As the jasmine-gem doesn't allow to add parameters without `--` infront
of it, lets just add a dummy parameter and add the required
`about:blank` with a space after that. This is ugly, but works for now,
until we can upgrade to the new jasmine version. We could also just
replace the `nil` of the last parameter with that value, but I think
that way it's clearer that this is a workaround and how it works.
2023-06-04 17:10:51 +02:00
Benjamin Neff
763dffa328 Always strip exif data and drop user setting for it
Some imagemagick-versions (I tested Ubuntu 22.04 and debian bullseye)
always loose exif data when converting from jpg to webp. So this made
our CI fail now, but even if it wasn't failing before, some pods always
had and have versions which might loose the information anyway. So
having a setting to keep exif information is kinda pointless, if we
can't guarantee that the information isn't lost. Also, diaspora isn't a
photo sharing platform and we don't display exif information anywhere,
so I think we should just always strip exif data (which was already the
default before), as we don't need them.
2023-06-04 04:25:01 +02:00
Benjamin Neff
f3a6cd9a7f Use specific registry in Dockerfile
Otherwise podman asks which one to use every time
2022-12-05 01:02:46 +01:00
Benjamin Neff
0c163b8c49 Allow to use different DOCKER_HOST env var
This allows to use rootless podman (which doesn't require sudo) instead
of docker.
2022-12-05 00:53:33 +01:00
Thorsten Claus
83a2274f47 Adding Smart App Banner for insporation on iOS devices 2022-11-17 23:20:35 +01:00
Benjamin Neff
2fe5a7bd40 updated 30 locale files [ci skip] 2022-11-04 02:09:11 +01:00
Benjamin Neff
b0b2083fea Merge pull request #8407 from Flaburgan/4821-help-mobile
Tell users that there is no help in mobile version, allow to switch to desktop
2022-11-04 02:07:36 +01:00
flaburgan
3d84ae18a7 Tell users that there is no help in mobile version, allow to switch to desktop, fixes #4821 2022-11-02 23:27:58 +01:00
Benjamin Neff
5f6b01e086 Merge pull request #8404 from Flaburgan/8118-scrolling-photos
Do not recreate blueimp each time you're scrolling in the photos page
2022-11-01 21:20:12 +01:00
Benjamin Neff
80c0888176 Merge pull request #8403 from SuperTux88/cleanup-duplicate-pods-for-real-this-time
Cleanup duplicate pods
2022-11-01 21:17:17 +01:00
Benjamin Neff
acc76a383f Merge pull request #8398 from SuperTux88/fix-mentions-with-underscores
Escape mentions before parsing message with markdown for mobile UI
2022-11-01 21:15:47 +01:00
Dennis Schubert
6af305b2be Merge pull request #8405 from Flaburgan/7949-feedback-mobile
Add info links (the ones in the footer in the desktop version) into the drawer for mobile
2022-10-31 23:29:42 +01:00
flaburgan
fbc096c7a7 Add info links (the ones in the footer in the desktop version) into the drawer for mobile, fixes #7949 2022-10-31 12:11:46 +01:00
flaburgan
35c254c88c Do not recreate blueimp each time you're scrolling in the photos page, fixes #8118 2022-10-31 11:21:08 +01:00
Benjamin Neff
800f394870 Show ports on pods list
otherwise pods with different ports (or without port) all look the same,
like if they are duplicates
2022-10-31 01:45:13 +01:00
Benjamin Neff
8334eeeeff Ensure pod urls are always lowercase
otherwise pods can exist multiple times with mixed case
2022-10-31 01:45:13 +01:00
Benjamin Neff
6bdf6f03b4 Cleanup duplicate pods in database
The unique index doesn't work when the port is `NULL`. So use `-1`
instead for when using the default ports (80/443), as if we would use
the real ports, we could still have both 80 and 443 in the database at
the same time.
2022-10-31 01:45:13 +01:00
Benjamin Neff
bfe1b84a2e Merge pull request #8399 from SuperTux88/docker-pull
Add pull command to diaspora-dev script
2022-10-30 01:46:57 +02:00
Benjamin Neff
f6105e54a9 Merge pull request #8400 from SuperTux88/8352-mobile-photo-url-redirect
Add redirect to mobile-only photo URL when in desktop UI
2022-10-30 01:45:27 +02:00
Benjamin Neff
abcbfcef15 Merge pull request #8397 from SuperTux88/remove-sprockets-es6
Replace sprockets-es6 with babel-transpiler
2022-10-30 01:43:12 +02:00
Benjamin Neff
7e15d9ec8a Merge pull request #8402 from denschub/cucumber-docker-fixes
Fix running Cucumber in Docker
2022-10-30 01:41:31 +02:00
Benjamin Neff
8b74138e5a Update postgres and mariadb container to latest major version
This is a breaking change, so dev-databases need to be recreated.
2022-10-30 01:17:11 +02:00
Benjamin Neff
cbbb0a55c2 Add redirect to mobile-only photo URL when in desktop UI
This URL is only used in the mobile UI, but when somebody then copies
the link and sends it to somebody on the desktop UI, they don't see
anything. So lets just redirect to the post containing the photo, so
there is at least something to show.

If there is no linked post, just redirect to the image instead.

Fixes #8352
2022-10-30 00:32:31 +02:00
Dennis Schubert
bd2a45615f Disable Chromium sandbox for Apparition 2022-10-29 06:30:34 +02:00
Benjamin Neff
ee593933a1 Add a pull command to update docker images to diaspora-dev script
Before the images were only pulled once and then never updated which
lead to really outdated images and OS dependencies. Now all images
(including the base image for the diaspora container) are pulled when
running `setup`. So the idea is to run the `setup` command from time to
time to bring everything up to date again.
2022-10-06 02:08:02 +02:00
Benjamin Neff
536c96f217 Escape mentions before parsing message with markdown
Usernames that contained underscores were parsed by markdown first. This
broke the diaspora IDs and also added weird html at places where it
wasn't needed. Escaping them before sending the message through the
markdown parser fixes this issue.

As underscores are the only allowed character that can be used for
markdown that is also allowed inside a diaspora ID, this escaping can be
kept pretty simple.

This only fixes it for the mobile UI at the moment, for the desktop UI
it's probably better to fix it in markdown-it.

Related to #7975
2022-10-06 00:45:50 +02:00
Benjamin Neff
185f8a1404 Replace sprockets-es6 with babel-transpiler
Sprockets 4 now has direct babel support, so we can remove the temporary
sprockets-es6 dependency and use babel-transpiler directly.
2022-10-01 02:55:50 +02:00
Benjamin Neff
03796e8fe2 Merge pull request #8395 from denschub/time-travel
Fixes for two date-related spec breakages
2022-09-21 02:47:06 +02:00
Benjamin Neff
57cdc288e2 Merge pull request #8396 from SuperTux88/fix-docker-dev
Fix docker development setup after switch to puma
2022-09-21 02:46:08 +02:00
Benjamin Neff
19b32cf6e3 Merge pull request #8217 from tclaus/7080_multi_select_on_aspects_on_mobile
multi select on aspects on mobile

closes #7080
2022-09-21 02:42:25 +02:00
Dennis Schubert
c47258a873 Don't time travel in check_birthday_spec 2022-09-20 03:20:48 +02:00
Dennis Schubert
6dd8af70f7 Force the dev-docker to always run as amd64
We download a static amd64 browser, so this would explode on arm64, for example.
2022-09-20 00:27:45 +02:00
Benjamin Neff
1358f6fbb8 Expose docker-compose through diaspora-dev script
As the docker-compose.yml contains variables, it can't just be used with
docker-compose directly. So this manually use docker-compose commands
with all the required environment variables set.
2022-09-19 04:01:16 +02:00
Benjamin Neff
a4d45358a2 Set listen not only on localhost when used in docker
When puma was introduced in #8392 the default listen configuration was
set to only localhost, which makes sense for most development setups,
but when run within docker, it needs to listen on all IPs so the port
can be forwarded to be accessable outside of docker.

Because the new default makes sense without docker, I overwrite the
option with a environment variable only in the docker-setup. This also
ensures that it always contains the right value needed for the
docker-setup to work, no matter what was configured outside of docker.
2022-09-19 04:01:16 +02:00
Benjamin Neff
84df8eed33 Add redis to docker development setup
With #8392 the `single_process_mode` was removed, which means that
development now also requires a redis.
2022-09-19 04:01:16 +02:00
Thorsten Claus
65456c7f5e Using mixins for aspects css style 2022-09-12 08:25:37 +02:00
Dennis Schubert
6ddd16267a Give queue_users_for_removal_spec a bit of allowance to accord for timezone changes 2022-09-10 23:22:34 +02:00
Benjamin Neff
7c450b4446 Merge pull request #8390 from cmrd-senya/improve-public-fetch
Improve public posts fetch on account search
2022-09-10 01:34:54 +02:00
Benjamin Neff
af0b1c55e3 Merge pull request #8389 from SuperTux88/update-changelog
Update next major to 1.0.0
2022-09-10 01:29:10 +02:00
Benjamin Neff
ae4cbb18f7 Merge pull request #8392 from denschub/unicorn-dust
Replace Unicorn with Puma
2022-09-10 01:20:34 +02:00
Benjamin Neff
1c72dcc412 Merge branch 'next-minor' into develop 2022-09-10 01:16:09 +02:00
Benjamin Neff
52f206fa8a Merge branch 'hotfix/0.7.18.1' 2022-09-10 01:13:25 +02:00
Dennis Schubert
9075dfa470 Update binstubs
Newly generated binstubs will check for the string
`This file was generated by Bundler` inside `bin/bundle`, so we'd have
to update that anyway.

Also, there is a non-zero chance the updated `bundle` binstub resolves
some of the setup-specific issues we've seen.
2022-09-10 00:43:20 +02:00
Dennis Schubert
97cfc80a1f Replace Unicorn with Puma
… and drop the single_process_mode. See the included Changelog entry
for full details on what this change means.
2022-09-09 04:33:37 +02:00
Dennis Schubert
bb80ca3394 Remove artifacts from the old Federation integration testing attempt
It's… safe to assume that nobody is using this, as this has been broken
for quite some time.
2022-09-07 03:17:03 +02:00
Dennis Schubert
bfd42a1914 Update binstubs
Newly generated binstubs will check for the string
`This file was generated by Bundler` inside `bin/bundle`, so we'd have
to update that anyway.

Also, there is a non-zero chance the updated `bundle` binstub resolves
some of the setup-specific issues we've seen.
2022-09-07 03:15:39 +02:00
cmrd Senya
e77d785d9c post fetch: update spec to test reshares data too 2022-09-06 10:22:08 +03:00
cmrd Senya
61d7eb100a post fetch: use warn not debug for exception logging 2022-09-05 23:22:26 +03:00
cmrd Senya
a6e7c8e2d5 post fetch: update post fetch spec 2022-09-05 23:19:11 +03:00
cmrd Senya
f3c01d5a46 post fetch: remove check for type to allow fetching reshares 2022-09-04 23:28:43 +03:00
cmrd Senya
93d61c7f21 Use federation code for fetching public posts on search 2022-09-04 23:15:30 +03:00
Benjamin Neff
66a0994c91 Change development version number to 1.0.0-dev
Lets use the `-dev` suffix for future development versions.
2022-09-04 19:11:25 +02:00
Benjamin Neff
8a249c06c7 Change deprecation warning for diaspora.yml to version 2.0
as this will be the next major after 1.0
2022-09-03 02:56:46 +02:00
Benjamin Neff
6afaa264ee Change next major release to 1.0.0 in the changelog 2022-09-03 02:52:45 +02:00
Thorsten Claus
8e01a66cb5 Finishing Touches 2022-09-01 22:49:48 +02:00
Benjamin Neff
1c064e016f Merge pull request #8387 from denschub/linked-inline-code-color
Make inline code inside links show the link color.
2022-08-31 22:40:49 +02:00
Benjamin Neff
d18243b5cf Merge pull request #8385 from SuperTux88/remove-therubyracer
Remove note about therubyracer from Gemfile
2022-08-31 22:38:25 +02:00
Sébastien Adam
71c856e330 #7080: SCSS adaptation for displaying the selection of the aspect selection button 2022-08-30 22:55:52 +02:00
Sébastien Adam
fa39f7d348 #7080 Adaptation of the JS for the behavior of the aspect selection button. 2022-08-30 22:51:18 +02:00
Sébastien Adam
29fa1e582a #7080 using aspect selecting button form html into mobile version 2022-08-30 22:51:18 +02:00
Dennis Schubert
0ede0233df Make inline code inside links show the link color.
Fixes #8386
2022-08-26 20:24:32 +02:00
Benjamin Neff
6687f85164 Remove note about therubyracer from Gemfile
podmins should just install nodejs instead
2022-08-24 02:52:16 +02:00
Benjamin Neff
58483bdd2c Merge branch 'next-minor' into develop 2022-07-31 23:14:32 +02:00
Benjamin Neff
9485a02639 Merge branch 'next-minor' 2022-07-31 23:12:00 +02:00
Benjamin Neff
eaedd3d26c updated 11 locale files [ci skip] 2022-07-31 23:08:59 +02:00
Benjamin Neff
77af1b9942 Merge pull request #8383 from tclaus/show_available_pods
Prepare the backend for generating a list of active pods
2022-07-31 04:12:02 +02:00
Thorsten Claus
416c806012 Adding total and active count to pod view
The backend adds the total count for all pods, as well as the count for active pods.

In the frontend shows the new counts but without any further user interactions
2022-07-31 00:19:41 +02:00
Benjamin Neff
496ec4b059 Merge branch 'next-minor' into develop 2022-07-24 21:09:52 +02:00
Benjamin Neff
65909700f3 Merge pull request #8384 from SuperTux88/downgrade-bundler-next-minor
Downgrade Gemfile.lock to bundler 2.1.4
2022-07-24 21:08:14 +02:00
Benjamin Neff
586b319c79 Downgrade Gemfile.lock to bundler 2.1.4
This is the default bundler version that comes with ruby 2.7, and it
looks like ruby ruby 2.7 and bundler 2.3.18 have a problem with the new
splitted version where each gem source has it's own block and it
crashes.

To have less problems for podmins when updating, lets just downgrade
bundler and use the old lockfile format in next-minor. It's not a
problem anymore in develop as we don't have rails-assets anymore there,
as we switched to yarn.
2022-07-24 20:50:01 +02:00
Benjamin Neff
a661b0b608 Merge branch 'next-minor' into develop 2022-07-24 17:22:41 +02:00
Benjamin Neff
646685b42c Handle Faraday::ServerError (for example 502) as HTTPFailure
closes #8380
2022-07-24 17:20:21 +02:00
Benjamin Neff
78b28c3d54 Handle nodeinfo timeouts gracefully
some (especially bigger pods) are sometimes slow to respond with
statistics, so lets handle that gracefully and not mark the pods as
down.
2022-07-24 17:19:04 +02:00
Benjamin Neff
b29675fead Remove error if there was no error anymore
also add pod uri when logging offline pods ... just having a bunch of
"OFFLINE" log messages doesn't help at all.
2022-07-24 17:17:51 +02:00
Benjamin Neff
429a47d64d Merge pull request #8381 from SuperTux88/fix-forgery-protection-for-federation
Bump diaspora_federation and enable forgery protection by default again
2022-07-24 01:30:43 +02:00
Benjamin Neff
9b6a2268e9 Bump diaspora_federation and enable forgery protection by default 2022-07-24 00:29:56 +02:00
Benjamin Neff
a88a25a5eb Merge branch 'next-minor' into develop 2022-07-23 18:41:31 +02:00
Benjamin Neff
eb1c571511 Add xmppChat to NodeInfo 2.1 test for 0.7.x
Follow up for #8379
2022-07-23 18:40:11 +02:00
Benjamin Neff
78ea344454 Merge branch 'next-minor' into develop 2022-07-23 17:01:02 +02:00
Benjamin Neff
4efc4dabf8 Show software and version directly in the pods table if no errors
closes #8379
2022-07-23 17:00:48 +02:00
Benjamin Neff
01f8f55dbb Add parsing of newer versions of NodeInfo
Always take the newest versions both nodes support
2022-07-23 16:59:41 +02:00
Benjamin Neff
49ba740b45 Add NodeInfo 2.1 2022-07-23 16:59:37 +02:00
Benjamin Neff
1be79fb40e Merge pull request #8376 from SuperTux88/improve-setup-and-docker-scripts
Improve setup and docker scripts
2022-07-23 00:56:30 +02:00
Benjamin Neff
2af2bd80f7 Merge pull request #8378 from SuperTux88/add-dummy-host-meta
Add dummy host meta
2022-07-23 00:54:44 +02:00
Benjamin Neff
37a00173f5 Merge branch 'next-minor' into develop 2022-07-23 00:54:06 +02:00
Benjamin Neff
e984fa7d91 Don't use host-meta in connection tester anymore
This route was removed from the federation and doesn't exist anymore, so
checking for it doesn't make any sense.

But lets check if a server responds to /.well-known/nodeinfo instead.
All other software which supports the diaspora protocol should have this
endpoint by now. Parsing/validating nodeinfo is still handled
gracefully.

closes #8377
2022-07-23 00:53:07 +02:00
Benjamin Neff
419ed4d9fc Remove old stubs for /.well-known/host-meta
Since the diaspora_federation gem doesn't try to access host-meta
anymore, there is no need to create stubs for it anymore.
2022-07-23 00:21:06 +02:00
Benjamin Neff
ed8e340fa2 Add a dummy route for /.well-known/host-meta
This was removed from the diaspora_federation gem, since it's not used
for the federation/discovery anymore since a long time. But old versions
of the ConnectionTester up to version 0.7.17 still check if this route
exist or else they mark the pod as offline. So lets add a dummy
host-meta with an empty response back, so the ConnectionTester is happy
again until we can remove this workaround again.
2022-07-23 00:17:06 +02:00
Benjamin Neff
662635fe35 Upgrade development Dockerfile to debian bullseye
to have a current version of yarn
2022-07-21 23:24:55 +02:00
Benjamin Neff
fdcea3e824 Add yarn command to the diaspora-dev docker script 2022-07-21 23:24:55 +02:00
Benjamin Neff
95a9c329af Add command for bin/setup to the diaspora-dev docker script
and also use it for the initial setup command, so it also install yarn
dependencies
2022-07-21 23:24:55 +02:00
Benjamin Neff
08e6f1e2a3 Configure bundler and copy example configs on bin/setup
and also remove `bin/rails restart`, this does nothing for us at the
moment anyway, so just remove it.
2022-07-21 23:13:44 +02:00
Benjamin Neff
9b24407b68 Merge branch 'next-minor' into develop 2022-07-21 05:31:11 +02:00
Dennis Schubert
428c97d089 Disable the default CSRF protection.
This was added in Rails 5.2 defaults, but we upgraded from 5.1 defaults to 6.1, so we didn't notice until now.

closes #8374
2022-07-21 05:30:55 +02:00
Benjamin Neff
975afe03bb Merge branch 'next-minor' into develop 2022-07-21 04:00:30 +02:00
Benjamin Neff
3cf84c838f Disable export_concurrent to prevent segfault during precompile
See https://github.com/sass/sassc-ruby/issues/207

closes #8372
2022-07-21 03:57:26 +02:00
Benjamin Neff
ee68da7eeb Don't eager load active storage in production
We don't use active storage, but eager loading it tries to read the
config/storage.yml, which doesn't exist, because we don't need it.

571b4d5fb9/activestorage/lib/active_storage/engine.rb (L137)
571b4d5fb9/activestorage/app/models/active_storage/blob.rb (L354)

closes #8371
2022-07-21 03:53:47 +02:00
Benjamin Neff
d6436f4d03 Merge pull request #8368 from SuperTux88/upgrade-diaspora-federation
Upgrade diaspora federation (and some preparations for ruby 3)
2022-07-21 02:22:43 +02:00
Benjamin Neff
022f367692 Fix some keyword args for ruby 3 compatibility 2022-07-21 01:25:53 +02:00
Benjamin Neff
93c69c4d42 Bump factory_bot for ruby 3 support 2022-07-20 23:13:06 +02:00
Benjamin Neff
111b3cdc8e Upgrade diaspora_federation to 1.0 2022-07-20 23:06:18 +02:00
Benjamin Neff
c2acf6168a Merge branch 'next-minor' into develop 2022-07-20 22:59:36 +02:00
Benjamin Neff
2e3bd14a09 Fix some update_attributes in tests only on next-minor
These were already fixed on develop in another branch but were never
backported, so lets do that now.
2022-07-20 22:59:30 +02:00
Benjamin Neff
8299aabc25 Drop ruby 2.6 to allow new diaspora_federation version 2022-07-20 22:42:01 +02:00
Benjamin Neff
03d2001cf2 Update yarn files for rails 6
Also allow `yarnpkg` binary for `bin/yarn`
2022-07-20 21:35:22 +02:00
Benjamin Neff
e7e34a8c24 Bump yajl-ruby 2022-07-20 21:35:13 +02:00
Benjamin Neff
4edaebb94f Remove "Did you mean?" from api errors when a parameter is missing
This isn't helpful at all for an api if you don't send a required
parameter and get an error response that just tells you what parameters
that were available.

This is a new feature with rails >= 6.1 and ruby >= 2.7, so this just
keeps the old behaviour of older rails/ruby versions.
2022-07-20 21:35:02 +02:00
Benjamin Neff
d4079070ed Merge branch 'next-minor' into develop 2022-07-20 21:34:39 +02:00
Benjamin Neff
3c4da76be5 Fix follow up tasks for assets:precompile when no manifest existed
When no `.sprockets-manifest-xxx.json` existed, every instance of
`Sprockets::Manifest` generated their own path with their own random
filename, and since this happened before the assets were actually
precompiled, they were all empty. So the error pages didn't find the
manifest and the non-digest assets also didn't have any assets to copy.

So lets create our own instance of `Sprockets::Manifest` here, AFTER
`assets:precompile`, which then loads the manifest json that was used
during precompile, so all precompiled assets are available.

closes #8366
2022-07-20 21:32:21 +02:00
Benjamin Neff
3b02eb87bd Upgrade to bundler 2 2022-07-20 21:32:11 +02:00
Benjamin Neff
c72b30130e Bump sidekiq and sidekiq-cron 2022-07-20 21:27:53 +02:00
Benjamin Neff
01ab639736 Bump acts-as-taggable-on 2022-07-20 21:27:52 +02:00
Benjamin Neff
8a1e3fbec2 Bump nokogiri 2022-07-20 21:27:46 +02:00
Benjamin Neff
c1c9469840 Add ruby 2.7, drop ruby 2.5 2022-07-20 21:27:46 +02:00
Benjamin Neff
3bb9b9a18d Fix deprecation warnings for rails 6.1 2022-07-20 21:27:41 +02:00
Benjamin Neff
fe84d3e101 Upgrade to rails 6.1 2022-07-20 21:27:41 +02:00
Benjamin Neff
1ef3c83a0a Remove workaround for schema.rb
We don't have the schema.rb anymore in the repo, so we don't need it
compatible with both databases anymore.

See 5b1be7d8da
2022-07-20 21:26:58 +02:00
Benjamin Neff
ac86c29a85 Use template_name instead of action_name for notification mails
This is a new feature in rails 6
2022-07-20 21:26:58 +02:00
Benjamin Neff
17b84d3ddd Fix rendering of error pages to remove deprecation warning for rails 6.0 2022-07-20 21:26:58 +02:00
Benjamin Neff
b5a46cf7bb Fix deprecation warnings for rails 6.0 2022-07-20 21:26:58 +02:00
Benjamin Neff
2d38a24a86 Upgrade to rails 6.0 2022-07-20 21:26:58 +02:00
Benjamin Neff
2f30b42d93 Don't load sidekiq workers during initialization
This is to prevent the warning about zeitwerk autoloader
2022-07-20 21:26:40 +02:00
Benjamin Neff
14e27a65ae Move ActsAsTaggableOn::Tag overrides to initializer
This is to prepare for zeitwerk autoloader, and the old file couldn't be
autoloaded anyway, so the easiest is to just move it out of the models
folder.
2022-07-20 21:26:40 +02:00
Benjamin Neff
429aa8f374 Upgrade to sprockets 4 2022-07-20 21:26:40 +02:00
Benjamin Neff
0382cb48c1 Bump diaspora_federation to support rails 6 2022-07-20 21:26:13 +02:00
Benjamin Neff
13eb095e83 Bump js_image_paths to support rails 6 and sprockets 4 2022-07-20 21:25:51 +02:00
Benjamin Neff
1b826eff9b Merge branch 'next-minor' into develop 2022-07-18 00:56:41 +02:00
Benjamin Neff
3598a17ee2 Update .gitignore from develop branch 2022-07-18 00:54:42 +02:00
Benjamin Neff
0cd1080b76 Merge pull request #8364 from cmrd-senya/use-yarn-for-assets
Use yarn for assets
2022-07-18 00:50:23 +02:00
cmrd Senya
ad266e5fda Add url fix for blueimp-gallery error.svg in css 2022-07-18 00:09:15 +03:00
cmrd Senya
7b3ff37079 Replace textchange with native input event 2022-07-17 22:49:29 +03:00
cmrd Senya
ac39716ab4 Drop jquery.textchange 2022-07-17 22:16:05 +03:00
cmrd Senya
1206b3c37d Update package.json fields 2022-07-17 13:27:08 +03:00
cmrd Senya
f702d3c872 Add yarnpkg to developer dockerfile 2022-07-17 13:18:15 +03:00
cmrd Senya
3c3b988603 Merge branch 'develop' into use-yarn-for-assets 2022-07-17 13:07:09 +03:00
Benjamin Neff
d0af34c079 Merge pull request #8358 from tclaus/supporting_heic_images
Using webp as storage format for images
2022-07-16 04:48:03 +02:00
Benjamin Neff
5669ba6b48 Merge branch 'next-minor' into develop 2022-07-16 04:44:59 +02:00
Benjamin Neff
a5e5c7f378 Fix Link to OWASP CSRF more information page
closes #8365
2022-07-16 04:44:17 +02:00
Benjamin Neff
dd3bc39c97 Render markdown to html for notifications 2022-07-16 04:34:07 +02:00
Benjamin Neff
3c02a1f067 Remove unused translation fallback 2022-07-16 04:22:51 +02:00
Benjamin Neff
a9ae84f3a6 Remove markerb dependency
markerb is dead and isn't compatible with rails 6 anymore. Removing it
means adding separate templates for text and html, this sadly means some
code duplication, but also luckily the templates aren't that
complicated, so the duplication is also very minimal.
2022-07-16 04:22:51 +02:00
Benjamin Neff
6cea355636 Fix escaping of names in the from header 2022-07-16 04:22:51 +02:00
Benjamin Neff
f76a8d7deb Fix sending mails after photo export 2022-07-16 04:22:51 +02:00
Benjamin Neff
41633fcea9 Don't autoload PeopleHelper during initialization
this is for future rails versions with zeitwerk autoloader where this
isn't allowed anymore
2022-07-16 04:22:51 +02:00
Thorsten Claus
f995e6af0d Dont Convert when initialized by import 2022-07-16 04:12:01 +02:00
cmrd Senya
551841e0ad blueimp: fix image asset URL 2022-07-12 23:42:01 +03:00
cmrd Senya
e6e6299588 Add yarn install before generating error pages 2022-07-12 22:46:08 +03:00
cmrd Senya
db917caaf5 Add yarnpkg on CI 2022-07-12 22:35:17 +03:00
cmrd Senya
406bb4af68 Add bin/yarn 2022-07-12 22:02:28 +03:00
cmrd Senya
b8b448ae40 Use yarn for front-end dependencies instead of rails-assets 2022-07-12 22:02:05 +03:00
cmrd Senya
834f158d01 API: update Search endpoint to be aware of ignored users 2022-07-06 12:10:45 +03:00
Benjamin Neff
c6dda6cf2d Merge branch 'next-minor' into develop 2022-07-03 23:14:51 +02:00
Benjamin Neff
a7a02e87cf Replace unmaintained sass-rails with sassc-rails
closes #8362
2022-07-03 23:14:42 +02:00
Benjamin Neff
485af7ea78 Remove compass-rails and just use the few images without a sprite
Fixes #6433
2022-07-03 23:14:01 +02:00
Benjamin Neff
1e3386c77a Merge branch 'next-minor' into develop 2022-07-03 20:44:24 +02:00
Benjamin Neff
5f48cedb84 Remove entypo-rails dependency and add font to vendor/assets
entypo-rails doesn't support newer rails versions

closes #8361
2022-07-03 20:44:10 +02:00
Thorsten Claus
492ac74819 Issue #8355: Adding webp as supported file format
Converting all uploaded images to the webp format.
2022-07-01 13:50:01 +02:00
Benjamin Neff
1b2270572b Merge branch 'next-minor' into develop 2022-06-29 13:28:02 +02:00
Benjamin Neff
739fc780c3 Manually stringify keys to fix sidekiq 7.0 deprecation warning
closes #8359
2022-06-29 13:27:37 +02:00
Benjamin Neff
add707252a Merge branch 'next-minor' into develop
... and also remove json-schema-rspec dependency from api specs
2022-06-28 02:08:42 +02:00
Benjamin Neff
2d9f133d30 Merge pull request #8357 from SuperTux88/gem-updates
Gem updates
2022-06-28 00:43:11 +02:00
Benjamin Neff
3ff162320e Bump rails-assets-jquery and jquery-rails 2022-06-27 03:21:28 +02:00
Benjamin Neff
edbb26b926 Bump other dependencies not directly in Gemfile 2022-06-27 03:00:34 +02:00
Benjamin Neff
9b23411d25 Add rails-assets-bootstrap to gems.diasporafoundation.org source block
this prevents a warning because somebody also uploaded an old version of
this to rubygems.org
2022-06-27 02:53:14 +02:00
Benjamin Neff
6753761c74 Bump cucumber-rails 2022-06-27 02:53:14 +02:00
Benjamin Neff
86f306fce8 Bump rspec-rails 2022-06-27 02:53:14 +02:00
Benjamin Neff
b48c72f188 Bump timecop 2022-06-27 02:53:14 +02:00
Benjamin Neff
47d0269043 Bump listen 2022-06-27 02:53:14 +02:00
Benjamin Neff
a1b6209415 Bump pronto-haml 2022-06-27 02:53:14 +02:00
Benjamin Neff
7d7549e01e Bump haml_lint 2022-06-27 02:53:14 +02:00
Benjamin Neff
25f5236d66 Bump asset_sync 2022-06-27 02:53:14 +02:00
Benjamin Neff
f044030db0 Fix version for minitest to 5.15.0
Newer versions don't support ruby 2.5 anymore, which we still use in CI
2022-06-27 02:53:13 +02:00
Benjamin Neff
e3e7d2daab Bump rails-timeago 2022-06-27 02:53:13 +02:00
Benjamin Neff
9189dbf348 Bump hamlit 2022-06-27 02:53:13 +02:00
Benjamin Neff
796047f543 Bump faraday 2022-06-27 02:53:13 +02:00
Benjamin Neff
61a560a58d Bump active_model_serializers 2022-06-27 02:53:13 +02:00
Benjamin Neff
aa0ac5bec6 Bump omniauth and omniauth-rails_csrf_protection 2022-06-27 02:53:13 +02:00
Benjamin Neff
1ba9416e22 Bump ruby-oembed 2022-06-27 02:53:13 +02:00
Benjamin Neff
c0450cbe9d Bump js-routes 2022-06-27 02:53:13 +02:00
Benjamin Neff
8ccf94a587 Bump fog-aws 2022-06-27 02:53:13 +02:00
Benjamin Neff
5238bb4c5d Bump activerecord-import 2022-06-27 02:53:13 +02:00
Benjamin Neff
e096c96c44 Bump pg 2022-06-27 02:53:13 +02:00
Benjamin Neff
a5a0b28d39 Bump mysql2 2022-06-27 02:53:13 +02:00
Benjamin Neff
ca40ca202a Bump sprockets-rails 2022-06-27 02:53:13 +02:00
Benjamin Neff
077bac95c0 Bump autoprefixer-rails 2022-06-27 02:53:13 +02:00
Benjamin Neff
dc1ec7665b Bump toml-rb 2022-06-27 02:53:12 +02:00
Benjamin Neff
d97ff9afce Bump terser 2022-06-27 02:53:12 +02:00
Benjamin Neff
8c4381c1ce Bump sidekiq and sidekiq-cron 2022-06-27 02:53:12 +02:00
Benjamin Neff
db74b364d6 Bump redis 2022-06-27 02:19:39 +02:00
Benjamin Neff
5b298e330c Bump rqrcode 2022-06-27 02:19:39 +02:00
Benjamin Neff
3d8cdc78e0 Bump devise-two-factor 2022-06-27 02:19:39 +02:00
Benjamin Neff
d801adcb6e Bump devise 2022-06-27 02:19:38 +02:00
Benjamin Neff
4076eb3fcf Bump json-schema and remove json-schema-rspec (unmaintained) 2022-06-27 02:19:38 +02:00
Benjamin Neff
7447beb04a Bump json 2022-06-27 02:19:38 +02:00
Benjamin Neff
a8dc10f5ad Bump unicorn 2022-06-27 02:19:38 +02:00
Benjamin Neff
0f7ea165f7 Bump rails 2022-06-27 02:19:38 +02:00
Benjamin Neff
792d034059 Merge pull request #8345 from tclaus/feature/set_name_in_auth_dialog
Set Name from client in auth dialog
2022-06-20 23:54:02 +02:00
Thorsten Claus
18f63250e1 Adding default value to predefined username 2022-06-20 21:59:43 +02:00
Thorsten Claus
84b33f8c63 Using login_hint instead of username 2022-06-20 08:04:03 +02:00
Sage Ross
2ce99d5b5a Remove unread var in mobile_file_uploader.js
This doesn't appear to be actually used, but if `gon` on not defined — which may happen in jasmine tests when run in random order — then it causes test failures.

Closes #8333
2022-06-19 19:31:09 +02:00
Benjamin Neff
6c9e7f283f Merge branch 'next-minor' into develop 2022-06-19 19:30:56 +02:00
Sage Ross
6fadfb30fe Undo another Capybara refactor that causes CI to break
Alas.

Closed #8331
2022-06-19 19:30:41 +02:00
Sage Ross
107f118db4 Undo change to aspects_steps.rb that breaks the build
When I removed this and tested it locally, the feature spec still passed, but it is failing on CI, so it looks like we still need this `execute_script` use until we find a better Capybara strategy.
2022-06-19 19:29:57 +02:00
Sage Ross
ae5333d67d Revert "Replace "execute_script" for triggering hovercards"
This reverts commit e7dc4eca9e.
2022-06-19 19:29:57 +02:00
Sage Ross
4fe52a72f1 Fix comment style violation 2022-06-19 19:29:57 +02:00
Sage Ross
4588ce11c9 Replace "execute_script" for uploading images in specs 2022-06-19 19:29:57 +02:00
Sage Ross
d14036b630 Replace "evaluate_script" for toggling a Bootstrap switch in spec 2022-06-19 19:29:57 +02:00
Sage Ross
637dad208a Replace "execute_script" in publisher_steps definitions 2022-06-19 19:29:57 +02:00
Sage Ross
4548380080 Replace "execute_script" in spec scrolling down on notifications 2022-06-19 19:29:57 +02:00
Sage Ross
b67cf8e983 Replace "execute_script" for filling in Close Account modal
Using "fill_in" seems to work fine with the apparition driver, and will hopefully also work on CI now.
2022-06-19 19:29:57 +02:00
Sage Ross
ef7a5f8d6e Replace "execute_script" for triggering hovercards
In addition to getting rid of an "execute_script" instance, this approach is slightly higher fidelity, as it renders the hovercard at the correct place on the page and doesn't reach into jQuery to trigger the hovercard.
2022-06-19 19:29:57 +02:00
Sage Ross
688245c0de Remove unnecessary execute_script call in feature spec
This call to `execute_script` would directly call jQuery's `sortable` function on an element to make it sortable. However, this isn't necessary; the test can still drag the "Cat People" aspect to the desired position without it.
2022-06-19 19:29:57 +02:00
Sage Ross
245bc1a05f Remove unused custom web step
It looks like this web step is no longer used anywhere. It was implemented for the "Feature: inifinite scroll" test, but that no longer exists.
2022-06-19 19:29:57 +02:00
Sage Ross
df4504979e Refactor "I scroll" web step to avoid using execute_script
The apparition driver does not support "scroll_by" without going through "execute_script", but we can better express the intention of this test and make the scrolling action a bit more general by replacing "scroll a bit" with "scroll to [some element]" — in this case, we need to scroll until the "Change" button is visible so that we can press it.

This change_settings.feature spec is the only place that used "I scroll a bit".
2022-06-19 19:29:57 +02:00
Benjamin Neff
e5b65f6498 Fix jasmine fake publisher messing with follow up tests in random order 2022-06-19 19:29:50 +02:00
Sage Ross
cb774d1c50 Fix another order-dependent failure in router_spec.js 2022-06-19 17:24:41 +02:00
Sage Ross
692f5fdafb Fix style violations, per automated code review 2022-06-19 17:24:40 +02:00
Sage Ross
37d440f91e Turn on random spec order in jasmine.yml 2022-06-19 17:23:00 +02:00
Sage Ross
baeeee8e73 More order-dependent Jasmine test fixes 2022-06-19 17:23:00 +02:00
Sage Ross
23c2487550 Delete specs that cause order-dependent failures elsewhere
This set of specs — in particular, all the calls to `this.view.$el.find(...).trigger('click') — are changing the environment in ways that cause I18n missing key errors elsewhere.

There are failures in `app_spec.js` if this spec file is run before it, and I haven't found a way to reset the environment to avoid the issue.
2022-06-19 17:23:00 +02:00
Sage Ross
94956a2eda Add workound for order-dependent notification_collection_spec.js
This is from Flaburgan: https://github.com/diaspora/diaspora/pull/8305/files

I can't find a better way around it. The specs that call `onChangedUnreadStatus` change the environment in ways we can't figure out how to reset cleanly.
2022-06-19 17:23:00 +02:00
Sage Ross
09ecaec0b5 Fix order-dependent Jasmine failure due to missing translation key
There must be another Jasmine spec that modifies the locale without loading the default afterwards.
2022-06-19 17:23:00 +02:00
Sage Ross
2b352b86ae Fix order-dependent failures in comment_view_spec.js
It looks like these specs expect a logged-in user, and would fail when run after a test that logged out.
2022-06-19 17:23:00 +02:00
Sage Ross
1c577fb5b2 More fixes for order-dependent Jasmine spec failures
These ones would fail if `app.page` was in the wrong state from a previous test.
2022-06-19 17:23:00 +02:00
Sage Ross
b2ee986815 Fix order-dependent failure in app_spec.js
The 'sets the user' spec was failing if run after a spec that had already set the user.
2022-06-19 17:23:00 +02:00
Sage Ross
ae3bd1f62e Fix order-dependent jasmine failure in contacts_collection_spec.js
This was failing if `app.aspect` got set by another spec than ran before it (such as one of the other specs in the same file, when run in a different order).
2022-06-19 17:22:59 +02:00
Sage Ross
b195861483 Fix order-dependent failures in notification_dropdown_view_spec.js
These tests were failing because of an error thrown from `this.header.render()`, unless `head_view_spec.js` had already been run to set app.notificationsCollection.
2022-06-19 17:22:59 +02:00
Sage Ross
4e4d332d6e Fix more order-dependent jasmine specs 2022-06-19 17:22:59 +02:00
Sage Ross
56ef83fa8a Don't overwrite app.stream properties in tests
These cases of modifying app.stream can cause other specs to fail, depending on test order. Here we either don't modify them if the tests still pass without manually stubbing `addNow`, or we cache and restore the properties we need to test.
2022-06-19 17:22:59 +02:00
Sage Ross
f4234fa3a0 Fix order-dependence bug in single_post_interactions_spec.js
This was only passing when run after a loginAs from another spec.
2022-06-19 17:22:59 +02:00
Sage Ross
f85135f726 Make shortcuts_spec.js more order-independent
This spec was failing whenever router_spec.js was not run prior it it running.
2022-06-19 17:22:59 +02:00
Sage Ross
0831d4e294 Fix order-dependent failure of stream_view_spec.js
This spec was only passing when it was run after another spec (router_spec.js) that put `app.page` in an appropriate state.
2022-06-19 17:22:53 +02:00
Dennis Schubert
865c36bc8a Merge branch 'next-minor' into develop 2022-04-27 21:17:23 +02:00
Dennis Schubert
058090afe7 Start 0.7.18.0 cycle 2022-04-27 21:15:32 +02:00
Dennis Schubert
02eba842ae Merge branch 'next-minor' 2022-04-27 21:11:26 +02:00
Dennis Schubert
22ac0872bd Merge branch 'next-minor' into develop 2022-04-27 20:37:49 +02:00
Dennis Schubert
9212fd3f46 Merge pull request #8351 into next-minor 2022-04-27 20:35:34 +02:00
Dennis Schubert
31ea07daa1 Merge pull request #8350 into next-minor 2022-04-27 20:32:19 +02:00
Jonne Haß
43ee2dbb50 Do not allow to mass assign OTP fields on user edit page 2022-04-27 19:48:42 +02:00
Jonne Haß
8e6f3b91d3 bump rails to 5.2.7 2022-04-27 19:06:22 +02:00
Jonne Haß
1cfe0037f9 Do not allow the user to mass assign their own password alongside other
parameters

Much thanks to Breno Vitório (@brenu) for the report!
2022-04-27 13:44:48 +02:00
Dennis Schubert
0cab9f595b Merge branch 'next-minor' into develop 2022-04-26 21:04:25 +02:00
Dennis Schubert
f88807909c Merge branch 'main' into next-minor 2022-04-26 21:03:43 +02:00
Dennis Schubert
6ad4eb3be7 Add dedicated SECURITY.md.
Closes #8348
2022-04-26 21:02:35 +02:00
Thorsten Claus
96c5146ebd Set Name from client in auth dialog 2022-03-29 08:25:32 +02:00
Benjamin Neff
5d81555ae1 Merge branch 'next-minor' into develop 2022-03-05 16:31:34 +01:00
Dennis Schubert
7611391f9f Don't suggest to retry exports on failure.
closes #8343
2022-03-05 16:31:25 +01:00
Benjamin Neff
2b1f27a850 Merge pull request #8341 from SuperTux88/remove-auth-token
Remove /user/auth_token route, this was a leftover from the chat
2022-02-27 23:31:25 +01:00
Benjamin Neff
36778dbeac Remove /user/auth_token route, this was a leftover from the chat
Also remove authentication_token from database
2022-02-27 23:06:24 +01:00
Benjamin Neff
7e889f71eb Merge branch 'next-minor' into develop 2022-02-12 00:12:01 +01:00
Benjamin Neff
d896744ca1 Start 0.7.17.0 cycle 2022-02-12 00:07:58 +01:00
Benjamin Neff
82291ed7e7 Merge branch 'next-minor' 2022-02-12 00:06:20 +01:00
Benjamin Neff
d7fb7405ae updated 25 locale files [ci skip] 2022-02-11 23:59:53 +01:00
Benjamin Neff
d4800544f0 Bump rails to fix CVE-2022-23633
closes #8336
2022-02-11 23:31:19 +01:00
Benjamin Neff
37a7c0b35d Merge pull request #8298 from tclaus/migration_backend
Migration: Backend, Rake file, Photos import
2021-11-25 01:39:57 +01:00
Benjamin Neff
d3c2407df1 Don't overwrite photos of other users during import
If a photo with the same filename already exists, generate a new random
filename, and re-federate the photo with that filename. This ensures
users can't modify their archive to overwrite other users photos.
2021-11-24 02:42:31 +01:00
Benjamin Neff
e9f7bf382e Send new remote_photo_path in migration message 2021-11-24 01:18:07 +01:00
Benjamin Neff
34528521f2 Allow to choose to overwrite settings and profile data 2021-11-23 01:48:33 +01:00
Benjamin Neff
96493b4a5c Refactory archive concurrency so the same logic can be reused 2021-11-23 01:48:33 +01:00
Benjamin Neff
1eb2c59cce Move extension logic to SecureUploader class 2021-11-23 01:48:32 +01:00
Thorsten Claus
6c4c6f8889 Migration Backend Part 2021-11-23 01:48:32 +01:00
Benjamin Neff
ced6905cbc Merge pull request #8320 from tclaus/8319-fix_show_local_posts_link_in_ui
Show local posts in sidebar, if enabled
2021-11-23 01:42:01 +01:00
Benjamin Neff
b1a2cf616e Merge pull request #8302 from SuperTux88/fix-local-sharing-with-me
Fix sharing status of local contacts after an import
2021-11-23 01:40:37 +01:00
Benjamin Neff
4902a35972 Merge branch 'next-minor' into develop 2021-11-23 00:56:41 +01:00
Benjamin Neff
eb977dc25a Use old person private key if relayable author migrated away
We only store signatures for relayables if the author is external, but
if the author becomes external through a migration, the signature is
missing. Lets just use the old persons private key to still be able to
generate a signature for the export.

closes #8310
2021-11-23 00:46:50 +01:00
Benjamin Neff
1570e3fb9a Migrate remote_photo_path and cleanup old photo uploads
If the migration contains a new remote_photo_path migrate all photos of
the old person to this path. If the person was local before, cleanup old
uploaded files of the photos.

closes #8314
2021-11-23 00:43:56 +01:00
flaburgan
c67fc4e0f7 Add sharing status in hovercards, fixes #6542
closes #8317
2021-11-23 00:31:41 +01:00
flaburgan
f6c885394d Refactor hovercards, fixes #8315
closes #8316
2021-11-23 00:30:21 +01:00
flaburgan
37f081959c Add a max-width to user name in the header, fixes #7676
closes #8313
2021-11-23 00:27:05 +01:00
Benjamin Neff
f69215edf1 Merge pull request #8318 from SuperTux88/update-gems
Update gems
2021-11-23 00:22:31 +01:00
Thorsten Claus
d531b64d66 fixes #8319 2021-11-08 18:47:01 +01:00
Benjamin Neff
ec22f5883e Bump omniauth 2021-11-06 17:43:57 +01:00
Benjamin Neff
fbd14c8804 Bump indirect dependency gems 2021-11-06 05:01:21 +01:00
Benjamin Neff
b8e5021dd1 Bump will_paginate 2021-11-06 05:01:21 +01:00
Benjamin Neff
862796131f Bump webmock 2021-11-06 05:01:21 +01:00
Benjamin Neff
a5f59ef105 Bump toml-rb 2021-11-06 05:01:20 +01:00
Benjamin Neff
eea6d71c8d Bump terser 2021-11-06 05:01:20 +01:00
Benjamin Neff
c8fba1ffad Bump sidekiq 2021-11-06 05:01:20 +01:00
Benjamin Neff
fe0c143c89 Bump secure_headers 2021-11-06 05:01:20 +01:00
Benjamin Neff
62f98dcaff Bump rubyzip 2021-11-06 05:01:20 +01:00
Benjamin Neff
19f6057ded Bump rspec-rails 2021-11-06 05:01:20 +01:00
Benjamin Neff
ae6b5a634c Bump rqrcode 2021-11-06 05:01:20 +01:00
Benjamin Neff
cd32959b93 Bump redis 2021-11-06 05:01:20 +01:00
Benjamin Neff
6e8a0dd66a Bump openid_connect 2021-11-06 05:01:19 +01:00
Benjamin Neff
b3c13bc49e Bump nokogiri 2021-11-06 02:35:57 +01:00
Benjamin Neff
fef6380721 Bump js-routes 2021-11-06 02:35:57 +01:00
Benjamin Neff
9548a3645c Bump jasmine 2021-11-06 02:35:56 +01:00
Benjamin Neff
51a46f60f1 Bump hamlit 2021-11-06 02:35:56 +01:00
Benjamin Neff
a66bfc9614 Bump fog-aws 2021-11-06 02:35:56 +01:00
Benjamin Neff
10f62391d4 Bump faraday_middleware and faraday-cookie_jar 2021-11-06 02:35:56 +01:00
Benjamin Neff
a0646e9363 Bump devise-two-factor 2021-11-06 00:51:12 +01:00
Benjamin Neff
2eb52cedec Bump database_cleaner 2021-11-06 00:48:51 +01:00
Benjamin Neff
67069b1519 Bump cucumber 2021-11-06 00:45:06 +01:00
Benjamin Neff
ad24678be3 Bump autoprefixer-rails 2021-11-06 00:29:51 +01:00
Benjamin Neff
f27b4ae920 Bump asset_sync 2021-11-06 00:28:15 +01:00
Benjamin Neff
c939829912 Bump addressable 2021-11-06 00:25:18 +01:00
Benjamin Neff
d1e0b163e2 Merge branch 'next-minor' into develop 2021-10-30 03:14:55 +02:00
Benjamin Neff
39ab87d111 Remove deprecated Sidekiq::Web.sessions
See https://github.com/mperham/sidekiq/pull/4804

closes #8311
2021-10-30 03:11:23 +02:00
flaburgan
8a3c9a2463 Bump faraday to 0.17.4, diaspora_federation to 0.2.7
closes #8312
2021-10-30 03:10:36 +02:00
Benjamin Neff
36e6b31135 Merge pull request #8237 from tclaus/7878-direct-image-pasting
7878 direct image pasting

fixes #7878
closes #7883
2021-10-25 03:51:58 +02:00
Benjamin Neff
95c0bb9ef2 Merge branch 'next-minor' into develop 2021-10-25 03:46:48 +02:00
Benjamin Neff
5714e83ab2 Store signatures of AccountMigrations if the old person is local
That way it can be re-used when sending the AccountMigrations to other
pods again if a message for the migrated account is received.

fixes #7902
closes #8309
2021-10-25 03:40:16 +02:00
Benjamin Neff
3cb1e470a4 Resend AccountMigration or AccountDeletion for closed recipients 2021-10-25 03:34:03 +02:00
Thorsten Claus
88e2e593a4 Update open_graph_reader gem
closes #8307
2021-10-25 03:28:56 +02:00
Benjamin Neff
3292ce64fc Change placeholder in translations for #8304 2021-10-25 03:26:05 +02:00
Benjamin Neff
89cd77751f Change placeholder in translations for #8037 2021-10-25 03:26:04 +02:00
Benjamin Neff
d22ae06cff updated 82 locale files [ci skip] 2021-10-25 03:26:04 +02:00
David Morley
af9f26d11c Change domain for poduptime
closes #8304
2021-10-25 01:59:30 +02:00
flaburgan
5b3f75f011 Remind the username in the reset password e-mail
closes #8037
2021-10-25 01:58:47 +02:00
Benjamin Neff
5e47c284b6 Merge branch 'next-minor' into develop 2021-10-01 02:12:37 +02:00
Benjamin Neff
dc99f0f77a Fix namespace for LineLength rule
closes #8303
2021-10-01 02:12:33 +02:00
Benjamin Neff
59baef3146 Enable HashTransform rules in rubocop because we have ruby >= 2.5 now 2021-10-01 02:12:25 +02:00
Benjamin Neff
0bb4ffce89 Disable Style/AccessorGrouping in rubocop
It makes more sense to allow to structure and group accessors how it
makes sense in the code instead of enforcing it to be grouped in a
specific way.
2021-10-01 02:12:25 +02:00
Benjamin Neff
b2a56376cd Fix running jasmine tests in docker
closes #8299
2021-10-01 02:11:36 +02:00
Benjamin Neff
0e6caf61ff Fix sharing status with local users when importing archive
* Local contacts also start sharing again with imported user if they
  were sharing with the old account
* Don't create empty contact entities for contacts which the imported
  user doesn't share with and also maybe the contact doesn't share with
  the importer
* Ensure people which were a contact in the archive still receive the
  migration, even when the importer doesn't share with them, so they can
  resend their contact message

fixes #8106 for real this time
2021-09-29 05:05:28 +02:00
Benjamin Neff
d9116efb85 Revert #8254
This reverts commit 123b8b906c.
This reverts commit 60f9dbcdbd.
2021-09-29 01:58:57 +02:00
Benjamin Neff
274edf7589 Merge branch 'next-minor' into develop 2021-09-19 14:30:07 +02:00
Thorsten Claus
4c337c6952 8139 add a podmin mail to footer
fixes #8139
closes #8242
2021-09-19 14:27:46 +02:00
Benjamin Neff
991148bd30 Merge branch 'next-minor' into develop 2021-09-19 03:47:12 +02:00
Benjamin Neff
d39a4e3621 Also need to handle account_migration in AccountDeleter spec
Also backported from #7660
2021-09-19 03:45:52 +02:00
Benjamin Neff
c05079d1d3 Merge branch 'next-minor' into develop 2021-09-19 03:41:51 +02:00
Benjamin Neff
fab48ee96d Also need to exclude account_migration from persons reference
Also backported from #7660
2021-09-19 03:41:26 +02:00
Benjamin Neff
e902261c45 Merge branch 'next-minor' into develop 2021-09-19 03:14:07 +02:00
Benjamin Neff
b8ea120ff2 Backport account_migration relation on person from #7660 2021-09-19 03:13:02 +02:00
Benjamin Neff
c740660c0c Merge pull request #8260 from tclaus/import_zipped_archive
Migration: Import compressed archive file handling
2021-09-19 02:28:43 +02:00
Benjamin Neff
0e7c91aeac Merge branch 'next-minor' into develop 2021-09-19 02:22:05 +02:00
Thorsten Claus
2a99cc93ba diaspora should send AccountMigration message back when a federation message received for a moved account
I use Senya's Patch for this
The extra check is for satisfying tests, which don't create real database objects.

fixes #7902
closes #8288
2021-09-19 02:20:38 +02:00
Thorsten Claus
85a5744867 Import compressed archive file 2021-09-19 02:14:50 +02:00
Benjamin Neff
2081f39a72 Merge pull request #8010 from cmrd-senya/fix-archive-edge-cases
Fix archive edge cases

closes #8017
closes #8257
2021-09-18 19:29:56 +02:00
Benjamin Neff
750186319e Merge branch 'next-minor' into develop 2021-09-18 19:24:20 +02:00
Thorsten Claus
8f9ac33649 Using shared markdown options for plain text
fixes #7960
closes #8277
2021-09-18 19:22:27 +02:00
Thorsten Claus
c71caa5cb8 #7960 Add support for Markdown footnote syntax in Mobile view
Splitting stripdown and markdownify options, because the footnote option seems to let the Redcarpet::Render::StripDown function crash
2021-09-18 19:19:02 +02:00
Thorsten Claus
122e12a068 #7960 Add support for Markdown footnote syntax 2021-09-18 19:19:02 +02:00
Benjamin Neff
28f03f0a11 Cleanup person_by_handle route
I think this is a leftover from a long time ago and I can't find
anything that still uses that

closes #8280
2021-09-18 19:18:34 +02:00
Thorsten Claus
8392c894d2 ensure ./log folder exists
closes #8287
2021-09-18 19:18:03 +02:00
Thorsten Claus
4630b49ec4 Update reshare import test with more generic test from #8257 and #8017
Just test for generic NotFetchable error, which also includes the root
author failing to be fetched.
2021-09-18 18:09:30 +02:00
cmrd Senya
9723bd37a7 Fix relayable import when parent is not fetchable 2021-09-18 18:09:30 +02:00
cmrd Senya
1ec0314752 Fix reshare import when root is not fetchable 2021-09-18 04:44:19 +02:00
Benjamin Neff
413926b56e Merge branch 'next-minor' into develop 2021-08-16 01:03:05 +02:00
Benjamin Neff
b2ba0123e1 Fix FactoryBot for next-minor 2021-08-16 01:02:08 +02:00
Thorsten Claus
cdb50edabc Person.find_or_fetch_by_identifier never return nil
Person.find_or_fetch_by_identifier raises an exception if person is not found localy and not fetchable. It never returns nil. These code changes take care about this behaviour and changes specs and code to behave equally.

Close #8273
2021-08-16 00:24:59 +02:00
Benjamin Neff
e2b96c81f2 Merge branch 'next-minor' into develop 2021-08-16 00:24:47 +02:00
Thorsten Claus
8691e650dc Person.find_or_fetch_by_identifier never return nil
Person.find_or_fetch_by_identifier raises an exception if person is not found localy and not fetchable. It never returns nil. These code changes take care about this behaviour and changes specs and code to behave equally.

Also related to #8253
2021-08-16 00:24:33 +02:00
Pirate Praveen
20a3abd864 Switch to terser gem from uglifier for JS compression
closes #8268
2021-08-16 00:21:17 +02:00
Benjamin Neff
d02848c216 Merge branch 'next-minor' into develop 2021-07-26 02:37:40 +02:00
Thorsten Claus
07a49de7e1 Using galleries default border radius Small indicator images in image gallery are round ones, this doesn't correspond with preview shown in stream. It also doesn't look good on real-world images. (may look OK for User profile images)
closes #8275
2021-07-26 02:37:22 +02:00
Benjamin Neff
7d0c29e99a Update repo data before trying to install packages
closes #8276
2021-07-26 02:31:53 +02:00
Benjamin Neff
8d5abe8892 Merge pull request #8264 from tclaus/migration_importing_blocks
Migration: Importing user blocks
2021-07-13 01:40:04 +02:00
Benjamin Neff
2e6ae8c967 Merge pull request #8254 from tclaus/8106_set_contact_status_on_account_migration
Migration: set share status in contacts

closes #8106
2021-07-13 01:36:48 +02:00
Thorsten Claus
1ec7bd7ce1 Migration: Importing user blocks
Migration: fix error on blocks import
2021-07-13 01:22:14 +02:00
Benjamin Neff
7896dbada5 Merge branch 'next-minor' into develop 2021-07-04 23:28:20 +02:00
Benjamin Neff
7e9987b7f5 Downgrade ethon because of https://github.com/typhoeus/ethon/issues/194
closes #8267
2021-07-04 23:28:15 +02:00
Dennis Schubert
0810fa77e9 Remove special-case for diaspora-handle lookups in people controller.
Thss partly reverts a475d5fb62. The special case here was only ever used for the chat, which no longer exists.
2021-07-04 22:10:20 +02:00
Benjamin Neff
4c46ca1a94 Merge branch 'next-minor' into develop 2021-07-04 22:09:32 +02:00
Dennis Schubert
805a35e985 Point /protocol route to the current federation documentation. 2021-07-04 22:07:51 +02:00
Dennis Schubert
407f51d5a3 Allow points and dashes in the username.
This reverts b3ca504c40. We don't quite know why that was added, but we assume it's because of format strings. Some pre-2011 users exist that still have dots or dashes in their username, and those accounts are somewhat broken now.

closes #8266
2021-07-04 22:07:21 +02:00
Benjamin Neff
8f804e376a Don't export chat_enabled flag anymore
The chat is already removed for 0.8, so there is no need to still export
this data since it can't be imported anyway.

Related to #8069

closes #8265
2021-07-04 22:03:37 +02:00
Benjamin Neff
caeeac6c59 Merge branch 'next-minor' into develop 2021-07-03 03:03:32 +02:00
Benjamin Neff
342d4f7fde Add blocks to archive json schema 2021-07-03 03:00:45 +02:00
Thorsten Claus
b31f9106a1 Migration: Exporting user blocks
closes #8263
2021-07-03 02:51:41 +02:00
Benjamin Neff
d27eefeb34 Merge branch 'next-minor' into develop 2021-06-30 23:27:57 +02:00
Benjamin Neff
7b73002a2c Merge pull request #8261 from SuperTux88/gem-updates
Gem updates
2021-06-30 23:21:52 +02:00
Benjamin Neff
c203c1eb94 Cleanup unused commenting_disabled? and can_comment?
closes #8262
2021-06-30 23:19:29 +02:00
Benjamin Neff
c1093abaef Bump some dependency gems 2021-06-28 01:34:26 +02:00
Benjamin Neff
319d5b55d9 Bump webmock 2021-06-28 01:34:26 +02:00
Benjamin Neff
6b48580373 Bump sprockets-rails 2021-06-28 01:34:25 +02:00
Benjamin Neff
da68d363a0 Bump simplecov 2021-06-28 01:34:25 +02:00
Benjamin Neff
2f29bb3035 Bump ruby-oembed 2021-06-28 01:34:25 +02:00
Benjamin Neff
b08202f51d Bump rqrcode 2021-06-28 01:31:01 +02:00
Benjamin Neff
053a93ea08 Bump redis 2021-06-28 01:30:37 +02:00
Benjamin Neff
e790e01753 Bump rails-timeago 2021-06-28 01:30:37 +02:00
Benjamin Neff
0e81a2da86 Bump rails-controller-testing 2021-06-28 01:30:37 +02:00
Benjamin Neff
2fd82c92dd Bump pry 2021-06-28 01:30:37 +02:00
Benjamin Neff
72b66a2782 Bump openid_connect 2021-06-28 01:30:37 +02:00
Benjamin Neff
72ad6fd23b Bump mini_magick 2021-06-28 01:30:37 +02:00
Benjamin Neff
29ea68737d Bump leaflet-rails 2021-06-28 01:30:37 +02:00
Benjamin Neff
c98598b8bc Bump js-routes 2021-06-28 01:30:37 +02:00
Benjamin Neff
edccab4ab3 Bump handlebars_assets 2021-06-28 01:30:36 +02:00
Benjamin Neff
414638476e Bump hamlit 2021-06-28 01:30:36 +02:00
Benjamin Neff
8eb2a9ca12 Bump haml_lint 2021-06-28 01:30:36 +02:00
Benjamin Neff
e1061c3d5c Bump fog-aws 2021-06-28 01:30:36 +02:00
Benjamin Neff
096297bd86 Bump devise 2021-06-28 01:30:34 +02:00
Benjamin Neff
dc3bef6a93 Bump carrierwave 2021-06-28 01:28:15 +02:00
Benjamin Neff
0c4d9bb702 Bump autoprefixer-rails 2021-06-28 01:28:15 +02:00
Benjamin Neff
ca44e91de6 Bump asset_sync 2021-06-28 01:28:15 +02:00
Benjamin Neff
93fae13cab Bump acts-as-taggable-on 2021-06-28 01:28:15 +02:00
Benjamin Neff
bd68e8ec83 Bump activerecord-import 2021-06-28 01:28:14 +02:00
Benjamin Neff
22f0538464 Bump gon 2021-06-27 23:09:12 +02:00
Benjamin Neff
486026a1b6 Bump nokogiri 2021-06-27 23:07:28 +02:00
Benjamin Neff
32e580b3ec Bump bindata 2021-06-27 23:05:02 +02:00
Benjamin Neff
2a22bb01c4 Bump rails 2021-06-27 23:01:41 +02:00
Benjamin Neff
5fcc60fea8 Merge branch 'next-minor' into develop 2021-06-27 22:29:12 +02:00
Akshay S Dinesh
b375bfa630 Add more closing tags to fix specs
closes #8159
2021-06-27 22:23:22 +02:00
Pirate Praveen
77edc5105e Update jquery to 3.5.1 (jquery-rails 4.4.0 and rails-assets-jquery 3.5.1) 2021-06-27 22:21:27 +02:00
Thorsten Claus
60f9dbcdbd Adapted tests for imported share-attribute 2021-06-17 11:15:21 +02:00
Thorsten Claus
123b8b906c 8106 set share status in contacts 2021-06-17 10:26:39 +02:00
Benjamin Neff
1dd2382d03 Merge pull request #8243 from tclaus/8192_drop_relay_example
drop relay example and implementation

closes #8192
2021-06-13 01:35:42 +02:00
Benjamin Neff
a6c79f5e57 Merge pull request #8232 from tclaus/local_public_posts
Show Local public posts

closes #8220
2021-06-13 01:32:24 +02:00
Benjamin Neff
a17fca02ff Merge branch 'next-minor' into develop 2021-06-13 01:27:34 +02:00
Thorsten Claus
43d489edda Fixed test
closes #8244
2021-06-13 01:26:27 +02:00
Thorsten Claus
3793d36609 Added tag handling 2021-06-13 01:24:49 +02:00
Allan Klaus
b2b03d2679 Improve Service::Tumblr
- Fix rubocop styles
- Improve specs coverage
2021-06-13 01:24:48 +02:00
Pirate Praveen
92a096f03c Add closing tags to replace invalid self-closing tags
closes #8251
closes #8158
2021-06-13 01:14:03 +02:00
Thorsten Claus
1f510d0b40 Wrapped local_comments also in a cache
closes #8241
closes #7992
2021-06-13 01:09:44 +02:00
Thorsten Claus
7042237218 Styles, SQL format 2021-06-13 01:03:22 +02:00
Thorsten Claus
d4331f4e65 7992 wrap local_posts from statistics in a cache 2021-06-13 01:03:18 +02:00
Thorsten Claus
47a603a346 Remove route to social relay 2021-05-20 07:59:18 +02:00
Thorsten Claus
61de6e117d 8192 drop relay example and implementation 2021-05-12 23:23:46 +02:00
Thorsten Claus
64d65269d8 Fixing robocop 2021-04-18 13:25:50 +02:00
Thorsten Claus
c937e17335 Set correct defaults for local mode stream 2021-04-18 13:23:17 +02:00
Jonne Haß
85bb022b2a Merge branch 'next-minor' into develop 2021-04-18 13:15:14 +02:00
Jonne Haß
ba905334f7 Start 0.7.16.0 cycle 2021-04-18 13:14:29 +02:00
Thorsten Claus
7fae5ca3b8 More optimized and faster query for local public posts
Even faster with new index
2021-04-18 13:11:25 +02:00
Thorsten Claus
2db1d5d641 Fixing PR Rewview issues 2021-04-18 13:11:25 +02:00
Thorsten Claus
4147249d2d Makes the local posts link be configured for special audiences 2021-04-18 13:11:25 +02:00
Thorsten Claus
34d9d9c3ee Fixing test 2021-04-18 13:11:25 +02:00
Thorsten Claus
ddee980426 Adds a local-public tag on the sidebar that shows all posts local to this pod 2021-04-18 13:11:25 +02:00
Jonne Haß
1d0982822b Merge branch 'next-minor' 2021-04-18 13:09:59 +02:00
Jonne Haß
e8442021b6 Merge branch 'next-minor' into develop 2021-04-17 11:56:04 +02:00
Jonne Haß
33b7d3253a Update unicorn to 6.0.0 2021-04-17 11:55:47 +02:00
Thorsten Claus
6c3269c6d5 Expand publisher on drag&drop 2021-04-14 08:27:06 +02:00
Hank Grabowski
0638619f81 7878 directly pasting images into edit box and broader drag and drop areas 2021-04-13 20:59:45 +02:00
Jonne Haß
69c6305e62 Merge branch 'next-minor' into develop 2021-04-11 20:50:31 +02:00
Jonne Haß
0fcd166387 Redis#client.disconnect is Redis#close now 2021-04-11 20:49:41 +02:00
Jonne Haß
76f759d9f7 Merge branch 'next-minor' into develop 2021-04-11 20:35:18 +02:00
Jonne Haß
cba2b9a3a9 Revert "Update bootstrap-switch-rails 3.3.3 -> 3.3.5"
This reverts commit cb675f5c8d.
2021-04-11 20:34:11 +02:00
Jonne Haß
22815abb22 Rails depends on the listen gem in development mode 2021-04-11 20:30:11 +02:00
Jonne Haß
705bef1dea update twitter-text to 3.1.0 2021-04-11 18:25:58 +02:00
Pirate Praveen
b9f570c68d Use jquery-ui-rails instead of rails-assets-jquery.ui
closes #8147
2021-04-11 18:25:58 +02:00
Jonne Haß
4f9257985c Merge branch 'next-minor' into develop 2021-04-11 17:42:40 +02:00
Jonne Haß
6e55ae7b5e update Gemfile.lock for carrierwave 1.3.2
🙈
2021-04-11 17:42:21 +02:00
Jonne Haß
98d1b54a82 Merge branch 'next-minor' into develop 2021-04-11 17:35:05 +02:00
Jonne Haß
6f9c52e2b4 update to carrierwave 1.3.2 2021-04-11 17:35:01 +02:00
Jonne Haß
28213b1a47 Merge branch 'next-minor' into develop 2021-04-11 17:29:57 +02:00
Jonne Haß
231ca2c3b1 update unrestricted gems 2021-04-11 17:25:18 +02:00
Jonne Haß
24e8be37c2 update jasmine to 3.7.0 2021-04-11 17:25:18 +02:00
Jonne Haß
1d8b9bde43 update hamlit to 2.14.6 2021-04-11 17:25:18 +02:00
Jonne Haß
a18defc90f update haml to 5.2.1 2021-04-11 17:25:18 +02:00
Jonne Haß
e4164eb18f update rspec suite dependencies 2021-04-11 17:25:18 +02:00
Jonne Haß
a36ffff5f7 update linters 2021-04-11 17:25:18 +02:00
Jonne Haß
2412ee390d update capybara and cucumber-rails 2021-04-11 17:25:18 +02:00
Jonne Haß
f949ae2aab update pry 2021-04-11 17:25:18 +02:00
Jonne Haß
b4b4efbab1 drop guard dev tool 2021-04-11 17:25:18 +02:00
Jonne Haß
7277200bc5 update devise to 4.7.3 2021-04-11 17:25:18 +02:00
Jonne Haß
7960a51d12 update open_graph_reader to 0.7.1 2021-04-11 17:25:18 +02:00
Jonne Haß
f55237ca6b update nokogiri to 1.11.3 2021-04-11 17:25:18 +02:00
Jonne Haß
52f08f1178 update redcarpet to 3.5.1 2021-04-11 17:25:18 +02:00
Jonne Haß
aa51329a49 update to rails 5.2.5 2021-04-11 17:25:18 +02:00
Jonne Haß
62bb4dc7b6 Update to Sidekiq 6
closes #8153
closes #8162
2021-04-11 17:25:18 +02:00
Jonne Haß
f52dbe570d Update autoprefixer-rails to 10.2.4.0
closes #8155
2021-04-11 17:25:18 +02:00
Jonne Haß
8d7b866c87 update secure_headers to 6.3.2
closes #8151
2021-04-11 17:25:18 +02:00
Jonne Haß
ee35ad3200 update devise-two-factor to 4.0.0 2021-04-11 17:25:18 +02:00
Pirate Praveen
cb675f5c8d Update bootstrap-switch-rails 3.3.3 -> 3.3.5
closes #8149
2021-04-11 17:25:18 +02:00
Pirate Praveen
4c6937838d Update responders 2.4.1 -> 3.0.1
closes #8148
2021-04-11 17:25:18 +02:00
Pirate Praveen
18ea3343fd Update typhoeus 1.3.1 -> 1.4.0
closes #8145
2021-04-11 17:25:18 +02:00
Pirate Praveen
cd9f79a018 Update rubyzip from 1.3.0 to 2.3.0
closes #8145
2021-04-11 17:25:18 +02:00
Jonne Haß
f4dc6d0dc7 Merge branch 'next-minor' into develop 2021-04-11 17:23:46 +02:00
gabrielrumiranda
394eafccc5 Actually implement validation error case in Photo#ownserhip_of_status_message
closes #8214
closes #8048

Co-authored-by: Thorsten Claus <thorstenclaus@web.de>
2021-04-11 17:22:40 +02:00
Jonne Haß
5f00b4a4e6 Merge branch 'next-minor' into develop 2021-04-11 17:13:46 +02:00
Gayathrir1666
ef9e764f7a Add scrollbar to aspect dropdowns
closes #8213
closes #7696

Co-authored-by: Hank Grabowski <hankgrabowski@gmail.com>
Co-authored-by: Thorsten Claus <thorstenclaus@web.de>
2021-04-11 17:13:25 +02:00
Jonne Haß
2c8bf3b5da Merge branch 'next-minor' into develop 2021-04-11 13:16:21 +02:00
Thorsten Claus
a420ba2cfc Formatting post per user fractions
closes #8227
2021-04-11 13:16:15 +02:00
Jonne Haß
cc5fca99be Fixup rubocop warnings from factory_bot introduction 2021-04-11 01:59:47 +02:00
Jonne Haß
3e6bb01199 Fix specs for factory_bot 6 2021-04-11 01:51:38 +02:00
Ntavranis Serafeim
671e8476ba Update factory_girl to factory_bot 2021-04-11 01:51:38 +02:00
Jonne Haß
e0af180c9b Merge branch 'next-minor' into develop 2021-04-11 01:46:52 +02:00
Thorsten Claus
a98fdc8079 Remove 'heidelberg' tile map service.
Updated settings for MapTiles as recommended by leaflet.js
Updating current licence text

Closes #8209
closes #8215
2021-04-11 01:45:05 +02:00
Jonne Haß
7d9f18fda1 Merge branch 'next-minor' into develop 2021-04-10 23:17:47 +02:00
Jonne Haß
7154fc3ccc Port cukes from poltergeist to aparition
closes #8234
2021-04-10 23:17:39 +02:00
Jonne Haß
cd6eb3de7f Run jasmine specs using chrome headless 2021-04-10 23:16:10 +02:00
Jonne Haß
bbeb24b398 Merge branch 'next-minor' into develop 2021-04-10 11:33:27 +02:00
Pirate Praveen
79133df4a9 Update mimemagic (0.3.5 is removed from rubygems.org)
closes #8231
2021-04-10 11:33:22 +02:00
Jonne Haß
ddaab0d8e8 Merge branch 'next-minor' into develop 2021-04-10 11:07:45 +02:00
Benjamin Neff
e7c5da2fff Use bundler-cache: true instead of actions/cache@v2
Using actions/cache@v2 causes problems with ruby, see
https://github.com/ruby/setup-ruby#caching-bundle-install-manually

Closes #8221

closes #8226
2021-04-10 11:07:37 +02:00
Dennis Schubert
d4f92a8fae Merge branch 'next-minor' into develop 2021-02-21 19:45:00 +01:00
Thorsten Claus
d7941230a4 Replace some http links with their https counterparts.
closes #8207
2021-02-21 19:44:42 +01:00
Dennis Schubert
4c74136c53 Merge branch 'next-minor' into develop 2021-02-14 18:51:05 +01:00
Ashley Nelson
d5d53baa1c Delete user invitation code during account deletion
closes #8202
2021-02-14 18:49:48 +01:00
Dennis Schubert
ecd2b87475 Merge pull request #8206 from denschub/lowercase-tags
Enforce lowercase tags and migrate existing uppercase tags for Postgres.
2021-02-13 04:45:02 +01:00
Dennis Schubert
1ef0cef74c Merge pull request #8205 from tclaus/8189-filter-upload-image-types
File selection dialog accepts only image types
2021-02-13 04:39:42 +01:00
Dennis Schubert
6c49ba1d2e Merge pull request #8187 from jhass/notifications_not_null
Enforce GUID being present for notifications
2021-02-13 04:36:57 +01:00
Dennis Schubert
195dfe6970 Merge pull request #8188 from jhass/converations_api_read
API: Conversations read handling through explicit route
2021-02-13 04:36:23 +01:00
Dennis Schubert
a178e60907 Enforce lowercase tags and migrate existing uppercase tags for Postgres. 2021-02-13 04:30:23 +01:00
Thorsten Claus
37e4242fdf File selection dialog accepts only image types 2021-02-08 21:38:49 +01:00
Dennis Schubert
5bb0798311 Merge branch 'next-minor' into develop 2021-02-08 21:13:57 +01:00
Dennis Schubert
7a7c48a470 CI - Don't fail fast.
Other runs might still result in interesting results, even if one suite fails.

closes #8204
2021-02-08 21:13:50 +01:00
Dennis Schubert
875f54b846 CI - Install all Ubuntu deps into the CI environment.
This matches what we suggest on the wiki -- just to make sure.
2021-02-08 21:13:44 +01:00
Benjamin Neff
caa8a29605 Merge branch 'next-minor' into develop 2020-12-30 14:16:08 +01:00
Benjamin Neff
1faddbc911 Fix "Change email" button position on mobile-ui
closes #8193
2020-12-30 14:16:02 +01:00
Jonne Haß
4ea2a77a86 Merge branch 'next-minor' into develop 2020-12-30 13:29:43 +01:00
Benjamin Neff
98e70c8221 Fix syntax error for default_color_theme in diaspora.toml.example
closes #8194
2020-12-30 13:29:39 +01:00
Jonne Haß
d9db761c79 API: Add endpoint to toggle conversation read status 2020-11-30 18:03:38 +01:00
Jonne Haß
a7ff52f366 API: Don't mark conversations as read when fetching its messages 2020-11-30 18:03:38 +01:00
Jonne Haß
07ec46e151 Enforce GUID being present for notifications 2020-11-30 15:42:48 +01:00
Thorsten Claus
d2acad1aed Enlarge accept and deny buttons in open-id authorization (#8183)
* Enlarge accept and deny buttons

* Move Accept/Deny buttons to the center on mobile, moved right on dektops
2020-11-14 19:22:40 +01:00
Dennis Schubert
e0995e540b updated 17 locale files [ci skip] 2020-11-06 01:10:18 +01:00
Benjamin Neff
9a637213b9 Merge pull request #8181 from denschub/scope-en-fix
Fix private/public confusion in API scopes.
2020-11-04 18:57:56 +01:00
Jonne Haß
e167584f7f Merge branch 'next-minor' into develop 2020-11-04 18:09:41 +01:00
Jonne Haß
cfd5397cfc GHA: Run Jasmine in separate, time limited step for now
closes #8182
2020-11-04 18:09:36 +01:00
Dennis Schubert
611e445e17 Fix private/public confusion. 2020-11-04 16:21:43 +01:00
Benjamin Neff
9021583d37 Merge branch 'next-minor' into develop 2020-11-04 14:22:29 +01:00
Benjamin Neff
d9013250fd Upgrade docker image to ruby 2.6 and debian buster
closes #8180
2020-11-04 14:22:22 +01:00
Benjamin Neff
f51ad14c1b Cleanup dependencies in docker image
Replace ghostscript with gsfonts, the captcha only needs gsfonts to
work.
2020-11-04 14:22:02 +01:00
Jonne Haß
bbd4a68151 Merge branch 'next-minor' into develop 2020-11-02 19:55:41 +01:00
Jonne Haß
6f3d68110a bump jasmine to 3.6.0
closes #8179
2020-11-02 19:55:38 +01:00
Jonne Haß
8bca84422e cucumber: don't fail on flaky tests, fail-fast 2020-11-02 19:55:36 +01:00
Jonne Haß
e1aff7e3ab drop coveralls 2020-11-02 19:55:36 +01:00
Jonne Haß
89b2e9ed3a Merge branch 'next-minor' into develop 2020-11-02 16:08:19 +01:00
Jonne Haß
203ca77a2f github actions ci: don't stop other jobs in matrix if one fails 2020-11-02 16:08:10 +01:00
Jonne Haß
6a4a983fa1 Merge branch 'next-minor' into develop 2020-11-02 15:34:08 +01:00
David Morley
9793f89761 Update poduptime link to diaspora only list
closes #8174
2020-11-02 15:33:38 +01:00
Jonne Haß
a57ee1efb3 Merge branch 'next-minor' into develop 2020-11-02 15:31:11 +01:00
David Morley
e24eb65ca4 update poduptime to diaspora list in readme
closes #8173
2020-11-02 15:31:01 +01:00
Jonne Haß
5c2e454ebd Merge branch 'next-minor' into develop 2020-11-02 15:20:58 +01:00
Jonne Haß
b8a85850e1 Migrate from Travis to Github Actions
closes #8178
2020-11-02 15:20:53 +01:00
Dennis Schubert
5304fb0c6f Merge pull request #8172 from denschub/api-scope-polish
Slightly polish the OAuth Scope descriptions.
2020-11-01 18:48:15 +01:00
Dennis Schubert
04138da009 Slightly polish the OAuth Scope descriptions. 2020-11-01 18:40:28 +01:00
Jonne Haß
0b51bff255 fix wording for api.openid_connect.scopes.notifications 2020-10-30 15:23:01 +01:00
Dennis Schubert
6109c93556 Add de-fallback for de_moo 2020-10-30 02:10:12 +01:00
Dennis Schubert
146045dbf8 Enable de_moo locale 2020-10-30 02:06:11 +01:00
Dennis Schubert
f842da5488 updated 68 locale files [ci skip] 2020-10-30 02:04:19 +01:00
Dennis Schubert
af649adcd9 Fix typo in en.api.openid_connect.authorizations.scopes.interactions.description 2020-10-30 02:02:30 +01:00
Dennis Schubert
25a70c2b16 Merge pull request #8169 from jhass/openid_issuer_url
OpenID Connect: ensure consistent issuer URL
2020-10-25 17:18:25 +01:00
Jonne Haß
0aba20f85c OpenID Connect: ensure consistent issuer URL
root_url does not know the right protocol in all contexts,
some clients are strict when validating this.
2020-10-24 22:30:43 +02:00
Benjamin Neff
d27cd175df Merge pull request #8167 from SuperTux88/fix-TagFollowingsController
Fix error in TagFollowingsController#create when duplicate is created
2020-10-24 21:04:55 +02:00
Dennis Schubert
31e13dcff7 Merge branch 'next-minor' into develop 2020-10-24 14:25:45 +02:00
Thorsten Claus
d0eb711ca0 In single post view deleting a comment updates the counter 2020-10-24 14:25:32 +02:00
Benjamin Neff
81bc438c98 Fix error in TagFollowingsController#create when duplicate is created 2020-10-23 21:10:15 +02:00
Jonne Haß
7fabd9d17f OpenID Connect: Disable form-action CSP on authorization page
Some browsers apply this CSP rules even to the redirect response
after the POST requests, blocking the redirect_uri redirect
2020-10-20 18:10:52 +02:00
Jonne Haß
651a271450 Merge branch 'next-minor' into develop 2020-10-20 11:54:48 +02:00
Jonne Haß
2aaf37659d bump kostya-sigar to 2.0.8
closes #8165
2020-10-20 11:54:45 +02:00
Jonne Haß
1f32999125 Merge branch 'next-minor' into develop 2020-09-17 08:48:45 +02:00
Jonne Haß
c268495e04 Switch to toml-rb gem
For them dotted keys

closes #8152
2020-09-17 08:48:39 +02:00
Jonne Haß
e81f07f0cf Drop config/script_server.yml warning 2020-09-04 22:00:23 +02:00
Jonne Haß
e10cf9cc85 Drop fallback to bitcoin_wallet_id 2020-09-04 22:00:14 +02:00
Jonne Haß
b75254bdda Warn about using diaspora.yml 2020-09-04 21:59:36 +02:00
Jonne Haß
15c11b87ca Merge branch 'next-minor' into develop 2020-09-04 21:58:57 +02:00
Jonne Haß
ce82ba3dde Drop spring
it does more harm than good at this point

closes #8133
2020-09-04 21:52:24 +02:00
Jonne Haß
2acdc8e095 Add chat configuration to diaspora.toml.example 2020-09-04 21:49:30 +02:00
Jonne Haß
08395cc877 Migrate configuration to TOML
YAML is just too easy to get wrong

closes #8132
2020-09-04 21:48:54 +02:00
Dennis Schubert
9df2e95724 Merge pull request #8141 from denschub/add-ip-to-admin-ui
Expose a user's .current_sign_in_ip in the admin panel
2020-09-02 21:51:20 +02:00
Dennis Schubert
517e3b22ba Expose a user's .current_sign_in_ip in the admin panel 2020-09-02 21:06:13 +02:00
Dennis Schubert
f2b118dc32 Merge branch 'next-minor' into develop 2020-07-08 22:05:52 +02:00
Jonne Haß
9dff9642b6 bundler: disable post install messages in production
closes #8131
2020-07-08 22:05:45 +02:00
Dennis Schubert
2f608d4a78 Merge branch 'next-minor' into develop 2020-06-24 18:48:01 +02:00
Dennis Schubert
0937bfc420 updated 9 locale files [ci skip] 2020-06-24 18:46:08 +02:00
Dennis Schubert
44bbb44c81 Merge branch 'next-minor' into develop 2020-06-14 22:13:08 +02:00
Dennis Schubert
d061c4e2cf Merge branch 'master' into next-minor 2020-06-14 22:12:58 +02:00
Dennis Schubert
4ca68a71d9 Merge branch 'release/0.7.14.0' 2020-06-14 22:11:23 +02:00
Dennis Schubert
3c124cefc3 updated 6 locale files [ci skip] 2020-06-14 22:10:24 +02:00
Dennis Schubert
fb46e77339 Merge branch 'next-minor' into develop 2020-06-14 21:50:13 +02:00
Dennis Schubert
9771a96add Start 0.7.15.0 cycle.
[ci skip]
2020-06-14 21:49:07 +02:00
Dennis Schubert
6519ded5ec Merge branch 'next-minor' into develop 2020-06-14 20:43:23 +02:00
Dennis Schubert
efa89cc2f3 Merge pull request #8130 from denschub/gem-updates
Bump Rails
2020-06-14 20:43:00 +02:00
Dennis Schubert
77062cbcaf Bump Rails 2020-06-13 23:49:57 +02:00
Dennis Schubert
868f0a8eec Merge pull request #8129 from denschub/api-cors
Allow CORS on all API routes.
2020-06-13 23:31:58 +02:00
Dennis Schubert
31b28e731d Merge branch 'next-minor' into develop 2020-06-13 23:31:09 +02:00
Noah Leal
ad91dddd63 Issue #8119 - Add length validation to a profile's gender field.
closes #8127
2020-06-13 23:31:03 +02:00
Dennis Schubert
e0cf63f1d3 Merge branch 'next-minor' into develop 2020-06-13 23:29:52 +02:00
flaburgan
7193099902 Bump ruby version to 2.6, drop support of 2.3
closes #7929
2020-06-13 23:29:47 +02:00
Dennis Schubert
bcf5406f53 Issue #8126 - Allow CORS on all API routes. 2020-06-11 20:13:46 +02:00
Benjamin Neff
002d427f34 Merge branch 'next-minor' into develop 2020-03-28 01:13:42 +01:00
Benjamin Neff
f882dd2d6f Bump octokit to 4.18.0 ... 4.17.0 was yanked :(
See octokit/octokit.rb#1219
2020-03-28 01:12:53 +01:00
Jonne Haß
d13bcc00e0 Merge branch 'next-minor' into develop 2020-03-21 19:15:14 +01:00
Vitalie Ciubotaru
827a2ce991 Remove links to deleted profiles in admin user stats
closes #8063
closes #8061
2020-03-21 19:14:56 +01:00
Jonne Haß
221ef7b932 Merge branch 'next-minor' into develop 2020-03-20 20:06:04 +01:00
Jonne Haß
ba8e0907cc update rails-timeago to 2.18.0 2020-03-20 20:03:42 +01:00
Jonne Haß
38d746b240 use latest ruby patch releases on travis 2020-03-20 20:03:42 +01:00
Jonne Haß
bd7feb83a6 update rqrcode to 1.1.2 2020-03-20 20:03:42 +01:00
Jonne Haß
813e6d4781 update rubocop to 0.80.1 and rubocop-rails to 2.4.1 2020-03-20 20:03:42 +01:00
Jonne Haß
9b6bc59854 update twitter to 7.0.0 2020-03-20 20:03:42 +01:00
Jonne Haß
3a3a9008b6 update simple_captcha2 to 0.5.0 2020-03-20 20:03:42 +01:00
Jonne Haß
1da14f2ef7 update sidekiq to 5.2.8 2020-03-20 20:03:42 +01:00
Jonne Haß
bec7e77e9e update asset_sync to 2.11.0 2020-03-20 20:03:42 +01:00
Jonne Haß
4a5610df2f update acts-as-taggable-on to 6.5.0 2020-03-20 20:03:42 +01:00
Jonne Haß
a7119fa7c1 update activerecord-import to 1.0.4 2020-03-20 20:03:42 +01:00
Jonne Haß
abec056c02 update omniauth to 1.9.1 2020-03-20 20:03:42 +01:00
Jonne Haß
60a50c881d update will_paginate to 3.3.0 2020-03-20 20:03:42 +01:00
Jonne Haß
de4a416280 update versionist to 2.0.1 2020-03-20 20:03:42 +01:00
Jonne Haß
3042b385c6 update string-direction to 1.2.2 2020-03-20 20:03:42 +01:00
Jonne Haß
a7f3ea976f update redcarpet to 3.5.0 2020-03-20 20:03:42 +01:00
Jonne Haß
33405d6ee6 update pg to 1.2.3 2020-03-20 20:03:42 +01:00
Jonne Haß
a681b317f3 update mysql2 to 0.5.3 2020-03-20 20:03:42 +01:00
Jonne Haß
db8bc5d874 update leaflet-rails to 1.6.0 2020-03-20 20:03:42 +01:00
Jonne Haß
04c545ef7d update js-routes to 1.4.9 2020-03-20 20:03:42 +01:00
Jonne Haß
ecdf130bcd update handlebars_assets to 0.23.8 2020-03-20 20:03:42 +01:00
Jonne Haß
a4dd210669 update hamlit to 2.11.0 2020-03-20 20:03:42 +01:00
Jonne Haß
8913a30d57 update haml_lint to 0.35.0 2020-03-20 20:03:42 +01:00
Jonne Haß
d6814878e9 update gon to 6.3.2 2020-03-20 20:03:42 +01:00
Jonne Haß
78b62dd3ed update addressable to 2.7.0 2020-03-20 20:03:42 +01:00
Jonne Haß
c74b0ab611 update nokogiri to 1.10.9 2020-03-20 20:03:42 +01:00
Jonne Haß
3eba2f3fa3 update fog-aws to 3.5.2 2020-03-20 20:03:42 +01:00
Jonne Haß
d9ef60b8b3 update uglifier to 4.2.0 2020-03-20 20:03:42 +01:00
Jonne Haß
05ee8f3db0 update unicorn to 5.5.3 2020-03-20 20:03:42 +01:00
Jonne Haß
872d87c772 update webmock to 3.8.3 2020-03-20 20:03:42 +01:00
Jonne Haß
27493cee41 update rspec-rails to 3.9.1 2020-03-20 20:03:42 +01:00
Jonne Haß
d0e5f90f84 update yard to 0.9.24 2020-03-20 20:03:42 +01:00
Jonne Haß
25a6c9583f update tins to 1.24.1 2020-03-20 20:03:42 +01:00
Jonne Haß
e5e4189569 update tilt to 2.0.10 2020-03-20 20:03:42 +01:00
Jonne Haß
8f0826a8bc update temple to 0.8.2 2020-03-20 20:03:42 +01:00
Jonne Haß
9c7d9186f6 update sassc to 2.2.1 2020-03-20 20:03:42 +01:00
Jonne Haß
d3210f1154 update rugged to 0.99.0 2020-03-20 20:03:42 +01:00
Jonne Haß
d5c22c3e49 update request_store to 1.5.0 2020-03-20 20:03:42 +01:00
Jonne Haß
ea4b670582 update raindrops to 0.19.1 2020-03-20 20:03:42 +01:00
Jonne Haß
9c449b0298 update rack-protection to 2.0.8.1 2020-03-20 20:03:42 +01:00
Jonne Haß
fa26c29bb2 update rack-oauth2 to 1.10.1 2020-03-20 20:03:42 +01:00
Jonne Haß
7f90110696 update parser to 2.7.0.4 2020-03-20 20:03:42 +01:00
Jonne Haß
8779a15e27 update parallel to 1.19.1 2020-03-20 20:03:42 +01:00
Jonne Haß
196f0699b0 update octokit to 4.17.0 2020-03-20 20:03:42 +01:00
Jonne Haß
19314f8a94 update oauth2 to 1.4.4 2020-03-20 20:03:42 +01:00
Jonne Haß
90926d95e9 update kgio to 2.11.3 2020-03-20 20:03:42 +01:00
Jonne Haß
95aaa7a140 update jsonpath to 1.0.5 2020-03-20 20:03:42 +01:00
Jonne Haß
95f08ac9af update jaro_winkler to 1.5.4 2020-03-20 20:03:42 +01:00
Jonne Haß
f0f8cf334c update http-form_data to 2.3.0 2020-03-20 20:03:42 +01:00
Jonne Haß
195780122b update gitlab to 4.14.0 2020-03-20 20:03:42 +01:00
Jonne Haß
403960811f update get_process_mem to 0.2.5 2020-03-20 20:03:42 +01:00
Jonne Haß
659bdf4b7a update fugit to 1.3.3 2020-03-20 20:03:42 +01:00
Jonne Haß
ffa69df704 update fog-core to 2.2.0 2020-03-20 20:03:42 +01:00
Jonne Haß
2d742ec0ff update fabrication to 2.21.0 2020-03-20 20:03:42 +01:00
Jonne Haß
95422c7566 update excon to 0.73.0 2020-03-20 20:03:42 +01:00
Jonne Haß
fc6d736471 update et-orbi to 1.2.4 2020-03-20 20:03:42 +01:00
Jonne Haß
2149ebb2df update domain_name to 0.5.20190701 2020-03-20 20:03:42 +01:00
Jonne Haß
e046a4cc3a update bindata to 2.4.6 2020-03-20 20:03:42 +01:00
Jonne Haß
4ac1b9ae87 update spring to 2.1.0 2020-03-20 20:03:42 +01:00
Jonne Haß
eb7a71a2a5 update rb-inotify to 0.10.1 2020-03-20 20:03:42 +01:00
Jonne Haß
b325d2ca43 update jasmine to 3.5.1 2020-03-20 20:03:42 +01:00
Jonne Haß
7ec921c956 update guard to 2.16.1 2020-03-20 20:03:42 +01:00
Jonne Haß
d561d2caf1 update fuubar to 2.5.0 2020-03-20 20:03:42 +01:00
Jonne Haß
67924fc404 update fixture_builder to 0.5.2 2020-03-20 20:03:42 +01:00
Jonne Haß
51e7eae2c3 update factory_girl_rails to 4.9.0 2020-03-20 20:03:42 +01:00
Jonne Haß
b54679a634 update database_cleaner to 1.8.3 2020-03-20 20:03:42 +01:00
Jonne Haß
b146c90e57 update cucumber-rails to 2.0 2020-03-20 20:03:42 +01:00
Jonne Haß
9211f930cd update json to 2.3.0 2020-03-20 20:03:42 +01:00
Jonne Haß
00c5f35190 Update Rails to 5.2.4.2 2020-03-20 20:03:42 +01:00
Jonne Haß
1a7b2b0c31 API: extend /search/user with a filter option
See API docs for more details
2020-03-20 12:39:09 +01:00
Jonne Haß
2d28ddc1ef Add API route to (un)block a user 2020-03-20 12:38:27 +01:00
Jonne Haß
6278925ce2 Merge pull request #8109 from jhass/feature/api_post_no_body
API: allow post creation without a body when there are photos
2020-03-04 16:12:11 +01:00
Jonne Haß
cd6e02ccec API: allow post creation without a body when there are photos 2020-02-20 18:50:32 +01:00
Jonne Haß
e9242d7754 API: Fix fetching explicitly not only unread conversations 2020-02-17 10:59:10 +01:00
Jonne Haß
00df0b7bda API: add new route to search for tags 2020-02-17 10:58:04 +01:00
Benjamin Neff
984b739eb4 Merge branch 'next-minor' into develop 2020-02-12 00:38:14 +01:00
Benjamin Neff
c432a658dd Start 0.7.14.0 cycle 2020-02-12 00:36:21 +01:00
Benjamin Neff
c2a991fec1 Merge branch 'release/0.7.13.0' 2020-02-12 00:33:50 +01:00
Benjamin Neff
6f65d9f96c updated 11 locale files [ci skip] 2020-02-12 00:29:37 +01:00
Benjamin Neff
4139ae2549 Merge branch 'next-minor' into develop 2020-02-12 00:13:19 +01:00
Dennis Schubert
b0181fbbb9 Bump mini_magick.
closes #8108
2020-02-12 00:09:54 +01:00
Dennis Schubert
ec72ac1277 Bump nokogiri. 2020-02-11 23:56:49 +01:00
Dennis Schubert
bc601f7c34 Bump devise. 2020-02-11 23:56:49 +01:00
Dennis Schubert
905df19a34 Bump rubyzip. 2020-02-11 23:54:56 +01:00
Dennis Schubert
43b83cf8f7 Bump json-jwt. 2020-02-11 23:54:56 +01:00
Dennis Schubert
d898b5ba69 Bump rack-cors. 2020-02-11 23:54:56 +01:00
Dennis Schubert
b7ee911778 Bump excon. 2020-02-11 23:54:56 +01:00
Dennis Schubert
67d73ece80 Bump secure_headers. 2020-02-11 23:54:55 +01:00
Dennis Schubert
71023a8713 Replace secret_token with secret_key_base.
secrets.secret_token is deprecated in favor of secret_key_base and will be removed in Rails 6.0.
2020-02-11 23:54:55 +01:00
Dennis Schubert
2e2b42ef1a Mark non-attribute usage in SQL queries as safe.
Non-attribute arguments will be disallowed in Rails 6.0.
2020-02-11 23:54:55 +01:00
Dennis Schubert
4685df634c Make Person.search_query_string public.
Accessibility of private/protected class methods in :scope is deprecated and will be removed in Rails 6.0.
2020-02-11 23:53:14 +01:00
Dennis Schubert
e40a07f204 Replace be_success with be_successful in specs.
be_success is deprecated and will be removed in Rails 6.
2020-02-11 23:53:14 +01:00
Dennis Schubert
45e8b54bea Check for status codes instead of relying on response.redirect?.
Rack did so much refactoring, we do not see a Response object here anymore.
2020-02-11 23:53:14 +01:00
Dennis Schubert
35da56109f Create a dup string from the return value of .truncate.
Due to a bug in Rails, .truncate returns a frozen string if the string actually changed, but not if there are no changes. This leads to inconsistent behaviour, and broken tests.

This was fixed upstream, see https://github.com/rails/rails/pull/36109, but the fix did not make it into 5.2.x, so we have to work around for the time being.
2020-02-11 23:53:14 +01:00
Dennis Schubert
75ef13b5d1 Replace content_security_policy_nonce with content_security_policy_script_nonce.
To avoid an conflict with Rails, and to avoid confusing by twitter's gem overloading the method.
2020-02-11 23:53:14 +01:00
Dennis Schubert
25e9728fae Do not depend on the default parameter being set in Person#initialize.
ActiveRecord 5.2.x occasionally calls with a nil parameter explicitly provided, so using default arguments does not work.
2020-02-11 23:53:14 +01:00
Dennis Schubert
93b0e1eb22 Bump Rails. 2020-02-11 23:53:14 +01:00
Jonne Haß
6dbef95951 API: return whether post or item was already reported or not 2020-02-09 11:04:59 +01:00
Jonne Haß
8068d8747b API: Fix fetching explicitly not only unread notifications 2020-02-09 11:03:55 +01:00
Jonne Haß
cd0995abf3 API: Don't return notifications target unless it's a post 2020-02-09 11:03:55 +01:00
Jonne Haß
04d0d6dccb API: return mentioned_people for comments 2020-02-04 18:54:53 +01:00
Dennis Schubert
08d4f87a2d Merge pull request #8100 from denschub/hotfix/fix-raw-photos
Re-add `raw` to a photo's json.
2020-02-04 16:36:13 +01:00
Dennis Schubert
6df742a7cb Do not allow additional properties in the API's photo_sizes schema definition 2020-02-04 15:52:58 +01:00
Dennis Schubert
dbbf743920 Add the scaled_full image as a raw image in AvatarPresenter as well.
This is a temporary workaround. Adding the real raw photo is quite a
challange and touches multiple components nobody wants to touch right
now. As this change is blocking an actual hotfix, this is fine, and will
be properly fixed at a later time.
2020-02-04 15:52:57 +01:00
Dennis Schubert
bf55d07580 Re-add sizes.raw to the photo JSON
because we need it for showing the raw image in the lightbox. This got lost, as the photo extension was made after API development started.
2020-02-04 14:38:49 +01:00
Jonne Haß
2e7526bac5 API: Let hide endpoint take payload as documented and act according to it 2020-02-02 21:49:20 +01:00
Jonne Haß
dcbd02cf7f Return 403 for unauthorized API requests
Also cleanup error handling code and remove last translatable
API error messages
2020-02-02 21:49:20 +01:00
Jonne Haß
884de9008f API: rename poll_answer_id to poll_answer in post interactions vote endpoint 2020-02-02 21:26:33 +01:00
Jonne Haß
b1f357849b API: return post oEmbed data 2020-02-02 20:15:36 +01:00
Jonne Haß
5921cd0176 API: return post open graph metadata 2020-02-02 20:15:36 +01:00
Jonne Haß
8cae234f45 API: return own vote state in polls 2020-02-02 18:40:07 +01:00
Jonne Haß
b921b71b97 API: ensure nsfw field in post is returned as a boolean 2020-02-02 18:31:46 +01:00
Jonne Haß
0754c92116 API: correct like and comment scopes for private posts 2020-02-02 18:23:34 +01:00
Jonne Haß
fbd0a51829 API: return current users like, reshare and subcription status in post infos 2020-02-02 18:13:55 +01:00
Jonne Haß
6bbcb7415b API: don't make error messages translatable 2020-02-02 18:04:11 +01:00
Jonne Haß
04744b4dac API: Return 409 when trying to create something existing and 410 when trying to delete something already gone
Probably missed a few more cases where we always return sucess when the user requests
status quo, but this should cover most ground
2020-02-02 18:04:11 +01:00
Jonne Haß
e8b9a70fbf Ensure API responses adhere to documented error format 2020-02-02 18:04:11 +01:00
Jonne Haß
9e762fcc31 Use full references in API JSON schema
We load another schema, https://diaspora.github.io/diaspora_federation/schemas/federation_entities.json,
that has overlapping definitions, namely #/definitions/post. When the definition from that schema is accessed
first, the json-schema gem caches it and is not smart enough to give precedence to the definition
within the schema document that contains the reference. So for now we have to disambiguate the references
likes this
2020-02-02 18:03:51 +01:00
Jonne Haß
2da33408f9 Merge branch 'next-minor' into develop 2020-01-27 09:30:14 +01:00
Jonne Haß
1e642be040 Hide sign up link in mobile header when registrations are disabled
closes #8060
2020-01-27 09:30:11 +01:00
Dennis Schubert
f35f55cb25 Merge pull request #8088 from jhass/feature/return_token_endpoint_auth_method
API: Return a default token_endpoint_auth_method when the client gives none in its OpenID Connect registration request
2020-01-24 22:20:00 +01:00
Jonne Haß
654b81b8f1 Explicitly select fragment from API JSON schema in specs
this should make them more strict and robust at the same time
2020-01-24 16:59:04 +01:00
Jonne Haß
35bfbc9c82 Return missing created_at field on reshares endpoint 2020-01-24 16:58:32 +01:00
Jonne Haß
0935451cd8 Return a default token_endpoint_auth_method when the client gives none in its OpenID Connect registration request
Since we announce it in the supported metadata, some clients expect to be told what to use and don't fallback to the spec standard of
client_secret_basic on their own.
2020-01-24 11:02:02 +01:00
Dennis Schubert
500763294d Merge pull request #8086 from jhass/api
API
2020-01-22 22:38:15 +01:00
Jonne Haß
1da075e30b Merge branch 'next-minor' into develop 2020-01-22 21:09:20 +01:00
Dennis Schubert
1d72f95705 Issue #8062 - Drop rails-assets.org.
and replace it with our own Gem cache. This isn't pretty, as we have to manage that one ourselves, and pushing updates requires a core-team member, but rails-assets.org has become way too unreliable for us to be a viable option.

closes #8087
2020-01-22 21:08:06 +01:00
Jonne Haß
8d690a9e33 undo changes in introduced by merge conflicts in the api branch 2020-01-21 23:56:01 +01:00
Jonne Haß
16b242fa0f Drop chat_enabled from aspects API 2020-01-21 23:35:01 +01:00
Jonne Haß
9bb1a36e3d Fix passing scope name to wrong scope openid connect error message 2020-01-21 23:35:01 +01:00
Jonne Haß
3abf6b6f41 return required client_secret_expires_at in openid connect dynamic registration response 2020-01-21 23:35:01 +01:00
Jonne Haß
1bf05e7921 use desktop openid connect authorizations and error pages on mobile for now 2020-01-21 23:35:01 +01:00
Jonne Haß
39c863ead9 Merge branch 'develop' into api 2020-01-21 23:35:01 +01:00
cmrd Senya
6b8cd5d390 API: accept name parameter instead of first name and last name in user patch 2020-01-21 23:34:43 +01:00
cmrd Senya
9e18b19d6a API: render name instead of first_name and last_name in user data 2020-01-21 23:34:43 +01:00
cmrd Senya
c348a763cf API: add profile:read_private scope 2020-01-21 23:34:43 +01:00
Jonne Haß
d08b31f2ed OpenID: remove private profile data claims that are not returned anyway and fix return values for profile and picture 2020-01-21 23:34:43 +01:00
Jonne Haß
dad54db7f4 Return API pagination links as headers rather than in the response body itself 2020-01-21 23:34:43 +01:00
Jonne Haß
2f7acbe4b3 API: fix missing page parameter to integer conversion 2020-01-21 23:34:43 +01:00
Jonne Haß
ab04633474 fix styling on the new authorization page 2020-01-21 23:34:43 +01:00
Jonne Haß
07acfba488 Merge branch 'develop' into api 2020-01-21 23:34:43 +01:00
Jonne Haß
6d6e846916 API: photo width and height are optional 2020-01-21 23:34:43 +01:00
Jonne Haß
cb679371ac Merge branch 'develop' into api 2020-01-21 23:34:43 +01:00
Jonne Haß
16e754f4c7 API: don't return default avatar 2020-01-21 23:34:00 +01:00
Benjamin Neff
1cbb3f9a7c Merge pull request #8069 from denschub/remove-chat
Remove the JSXC/Prosody integration.
2019-10-25 01:32:37 +02:00
Benjamin Neff
6bb2e2fadd Merge branch 'next-minor' into develop 2019-10-25 01:24:19 +02:00
Jonne Haß
36b4076af6 set better example values for unicorn stdout/stderr log settings
[ci skip]

closes #8058
2019-10-25 01:24:08 +02:00
FeruzOripov
3856b44c57 Refactoring aspects_controller.rb
closes #8064
2019-10-25 01:22:02 +02:00
Dennis Schubert
862fa38f8b Remove the JSXC/Prosody integration.
As per discussion on https://discourse.diasporafoundation.org/t/removing-diaspora-s-current-chat-integration/2718, nobody raised serious concerns or objections. Given future plans, we do not think having an unfinished implementation of something that likely will not get finished in the current form is worth it. So let's get rid of it.
2019-10-18 23:14:14 +02:00
Jonne Haß
995f3394a8 Merge branch 'next-minor' into develop 2019-09-01 02:44:02 +02:00
Jonne Haß
ba16185b8e install ghostscript on travis
closes #8049
2019-09-01 02:43:51 +02:00
Jonne Haß
6937fa13e5 travis: ensure postgresql and mysql are available 2019-09-01 02:42:11 +02:00
Jonne Haß
5b09e9d38d install libidn-dev on travis 2019-09-01 02:42:11 +02:00
Jonne Haß
6a7e937d90 Update open_graph_reader to 0.7.0
This should fix undefined method `og' for #<OpenGraphReader::Base:0x00007f73c53f2308 @bases={}>
for sites that have OpenGraph tags of other namespaces but no actual OpenGraph core tags
2019-09-01 02:42:11 +02:00
Benjamin Neff
8cab64b715 Merge branch 'next-minor' into develop 2019-07-06 22:45:05 +02:00
Benjamin Neff
593614aef1 Bump fuubar
Version 2.4.0 was yanked ... why do people do such things? m(

https://github.com/thekompanee/fuubar/issues/111
2019-07-06 22:43:41 +02:00
Benjamin Neff
e63fa7a398 Merge branch 'next-minor' into develop 2019-07-04 02:30:38 +02:00
Benjamin Neff
b42c9896bc Migrate pending profile photos and fix upload to unpend profile photos
fixes #8043

closes #8044
2019-07-04 02:29:17 +02:00
Benjamin Neff
11caf4f86f Merge pull request #8036 from theRealNG/develop
Do not show getting started after account import

fixes #8018
2019-07-03 13:33:22 +02:00
Benjamin Neff
e0b8b295df Merge pull request #8039 from SuperTux88/photos-remove-commentable
Remove commentable functionality from photos
2019-07-03 13:29:39 +02:00
Benjamin Neff
a26e20ab7d Merge branch 'next-minor' into develop 2019-07-03 13:25:49 +02:00
Benjamin Neff
df4e79b842 Cleanup pending photos which were never posted with cronjob
Only delete photos older than a day, so we don't delete photos for posts
which were uploaded 10 minutes ago and the author is still writing the
post for it.

closes #8041
2019-07-03 13:24:27 +02:00
Benjamin Neff
397dbdbee8 Bump unf_ext
closes #8042
2019-07-03 13:21:20 +02:00
Benjamin Neff
68234fc91f Bump macaddr 2019-07-03 13:20:09 +02:00
Benjamin Neff
2b8cc070f2 Bump jsonpath 2019-07-03 13:20:08 +02:00
Benjamin Neff
18d6d39c62 Bump jwt 2019-07-03 13:20:08 +02:00
Benjamin Neff
6ede2ade7b Bump bcrypt 2019-07-03 13:20:08 +02:00
Benjamin Neff
4b2414c9eb Bump rspec-expectations and rspec-mocks 2019-07-03 13:20:08 +02:00
Benjamin Neff
b654ca7f82 Bump rails-assets-bootstrap 2019-07-03 13:20:08 +02:00
Benjamin Neff
5278ae6a96 Bump fugit 2019-07-03 13:20:08 +02:00
Benjamin Neff
4b921816eb Bump ffi 2019-07-03 13:20:08 +02:00
Benjamin Neff
2503934a04 Bump fabrication 2019-07-03 13:20:08 +02:00
Benjamin Neff
cde29af545 Bump rails-assets-jasmine-ajax 2019-07-03 13:20:07 +02:00
Benjamin Neff
1e2e064268 Bump jasmine 2019-07-03 13:20:07 +02:00
Benjamin Neff
435e60c214 Bump cucumber-rails 2019-07-03 13:20:07 +02:00
Benjamin Neff
51e7958c4b Bump pronto 2019-07-03 13:18:38 +02:00
Benjamin Neff
18b0dd0060 Bump coveralls 2019-07-03 13:18:38 +02:00
Benjamin Neff
26b247bf98 Bump webmock 2019-07-03 13:18:38 +02:00
Benjamin Neff
800676a90f Bump rspec-json_expectations 2019-07-03 13:18:38 +02:00
Benjamin Neff
556fa42004 Bump fuubar 2019-07-03 13:18:38 +02:00
Benjamin Neff
1458d2d57f Bump rubocop 2019-07-03 13:18:38 +02:00
Benjamin Neff
d2c4faeb9f Bump versionist 2019-07-03 13:18:37 +02:00
Benjamin Neff
3a1428a672 Bump hamlit 2019-07-03 13:17:37 +02:00
Benjamin Neff
06c582a672 Bump faraday_middleware 2019-07-03 13:17:36 +02:00
Benjamin Neff
fa08ebf7bd Bump addressable 2019-07-03 13:17:36 +02:00
Benjamin Neff
c059550943 Bump openid_connect 2019-07-03 13:17:36 +02:00
Benjamin Neff
ee503737cb Bump secure_headers 2019-07-03 13:17:36 +02:00
Benjamin Neff
a6261fdc64 Bump nokogiri 2019-07-03 13:17:36 +02:00
Benjamin Neff
56670865b9 Bump leaflet-rails 2019-07-03 13:17:36 +02:00
Benjamin Neff
325a9122b8 Bump js-routes 2019-07-03 13:17:36 +02:00
Benjamin Neff
a018abcfe9 Bump jquery 2019-07-03 13:17:35 +02:00
Benjamin Neff
8f5c248536 Bump handlebars_assets 2019-07-03 13:17:35 +02:00
Benjamin Neff
e2ce43c3c7 Bump fog-aws 2019-07-03 13:17:35 +02:00
Benjamin Neff
c154c4e2af Bump activerecord-import 2019-07-03 13:17:35 +02:00
Benjamin Neff
07513e2ec0 Bump rack-cors 2019-07-03 13:17:35 +02:00
Benjamin Neff
b1441356d2 Bump sidekiq 2019-07-03 13:17:35 +02:00
Benjamin Neff
e7a7f62531 Bump unicorn 2019-07-03 13:17:35 +02:00
Benjamin Neff
4ae373e3a2 Bump rails 2019-07-03 13:17:30 +02:00
Benjamin Neff
034d78e3e4 Remove commentable functionality from photos
This is not (and as far as I know, was never) used. If we want to make
standalone photos commentable, we can always add it back, but it would
also need to change federation for it to work, because comments support
only posts there. But for now it makes the code cleaner and easier to
remove it.
2019-07-02 01:58:54 +02:00
NG
e3de008453 Do not show getting started after account import 2019-06-26 15:56:32 +05:30
Benjamin Neff
e92eb88782 Merge branch 'next-minor' into develop 2019-06-25 02:14:52 +02:00
Benjamin Neff
4cef2a4325 Merge branch 'master' into next-minor 2019-06-25 02:14:45 +02:00
Benjamin Neff
09a425cbbc Merge branch 'release/0.7.12.0' 2019-06-25 02:13:50 +02:00
Benjamin Neff
1e8a96d817 updated 64 locale files [ci skip] 2019-06-25 02:06:07 +02:00
Benjamin Neff
6f14f1b850 Merge branch 'next-minor' into develop 2019-06-17 01:20:42 +02:00
Benjamin Neff
d674f53910 Start 0.7.13.0 cycle 2019-06-17 01:19:44 +02:00
Benjamin Neff
5602dc4418 Use username parameter first if present
this makes sure we don't use an old otp_user_id from an old session

closes #8031
2019-06-17 01:14:22 +02:00
Benjamin Neff
88e35d3f3a Use :database_authenticatable strategy to check password for OTP user
This:
* makes sure that after_database_authentication is called for users with
enabled 2fa.
* handles paranoid mode correctly
2019-06-17 01:12:42 +02:00
Benjamin Neff
ef31ea6b96 Enable remember me for all forms
fixes #8023
2019-06-17 01:12:42 +02:00
flaburgan
78538d034a Harmonize markdown titles sizes
fixes #7757

closes #8029
2019-06-17 01:10:41 +02:00
flaburgan
d8b3718a08 Fix wrong padding for captcha label in registration form
fixes #8016

closes #8028
2019-06-17 01:08:38 +02:00
Benjamin Neff
0f0b3edec2 Merge pull request #8020 from SuperTux88/dont-send-relayable-on-import
Don't relay others relayable on archive import
2019-05-25 20:04:14 +02:00
Jonne Haß
700e5588e0 Merge branch 'next-minor' into develop 2019-05-24 22:43:13 +02:00
Jonne Haß
1227f34b2a Pass normalized URI to OpenGraphReader
This ensures the hostname is downcase and thus subsequent third party library
assumptions hold, namely http-cookie (pulled through faraday-cookie_jar) doesn't
raise

closes #8021
2019-05-24 22:43:08 +02:00
Benjamin Neff
d5b7c6d779 Don't relay others relayable on archive import 2019-05-21 23:08:34 +02:00
Benjamin Neff
0df2f519f0 Merge branch 'next-minor' into develop 2019-05-13 22:52:23 +02:00
Benjamin Neff
4a22f08539 Merge branch 'master' into next-minor 2019-05-13 22:52:08 +02:00
Benjamin Neff
dc7c5ffef6 Merge branch 'release/0.7.11.0' 2019-05-13 22:51:22 +02:00
Benjamin Neff
5aec9b966c updated 74 locale files [ci skip] 2019-05-13 22:49:16 +02:00
Benjamin Neff
314239ff2a Merge branch 'next-minor' into develop 2019-05-12 00:25:52 +02:00
Benjamin Neff
e5ba9a1a46 Move translations to registrations.closed
And remove unused translations and make "another pod" translatable.

closes #7896
2019-05-12 00:25:36 +02:00
flaburgan
4feab5219e Use a partial to share code between mobile and desktop, add the new route to the RegistrationController, drop flash message for closed registrations 2019-05-12 00:25:36 +02:00
alebor-5
469983a623 Improve communication about signing up on closed pods
fixes #7767
2019-05-12 00:25:08 +02:00
flaburgan
6826e89a95 Change design, add a link to the official website
fixes #7910

closes #7966
2019-05-12 00:12:12 +02:00
David Moseler
e04ddd0bcc Clarify pod is part of diaspora in splash screen 2019-05-12 00:09:58 +02:00
Benjamin Neff
4d02aee375 Merge branch 'release/0.7.11.0' into next-minor 2019-05-12 00:07:36 +02:00
Benjamin Neff
165b8f4f6e Don't encrypt the OTP secret
It doesn't add any security to have this encrypted, but it adds
complexity for podmins, because they need to backup the key.

closes #8014
2019-05-12 00:06:28 +02:00
Jonne Haß
2d23a2601e fix old photos without a remote_photo_path or remote_photo_name
closes #8012
2019-05-11 22:07:48 +02:00
Dennis Schubert
cb5f26a709 Merge branch 'next-minor' into develop 2019-05-05 04:23:09 +02:00
Dennis Schubert
3704be8bec Prepare 0.7.12.0 cycle
[ci skip]
2019-05-05 04:22:10 +02:00
Dennis Schubert
39b86ed486 Remvoe unused Changelog headline
[ci skip]
2019-05-05 04:21:37 +02:00
Jonne Haß
dfeea521f5 Merge branch 'next-minor' into develop 2019-05-03 17:18:53 +02:00
flaburgan
83a9877def Improve likes steps
closes #8002
2019-05-03 17:17:32 +02:00
flaburgan
554faa4116 Reorganize steps a bit 2019-05-03 17:15:32 +02:00
Dennis Schubert
74c3debefe Merge branch 'next-minor' into develop 2019-05-01 00:22:09 +02:00
Dennis Schubert
caf822f497 Make sure 2fa settings have the right background color
closes #8008
2019-05-01 00:22:04 +02:00
Benjamin Neff
d25d9f96f9 Merge branch 'next-minor' into develop 2019-04-30 22:52:00 +02:00
Benjamin Neff
54fd4846c0 Use password to disable 2FA instead of a token
Using token doesn't make much sense when you can generate new tokens
right below.

closes #8006
2019-04-30 22:51:51 +02:00
Benjamin Neff
ecda6eccf6 Remove password reset and sign up link below two factor form
They don't make sense on that page, because at this stage, the user
already has an account and also has already entered their password.

closes #8005
2019-04-30 22:51:11 +02:00
Benjamin Neff
d486fbce8c Merge branch 'next-minor' into develop 2019-04-30 00:21:55 +02:00
Dennis Schubert
3c06bb2f4c Center <p>s inside formes used as secondary labels
closes #8004
2019-04-30 00:21:43 +02:00
Dennis Schubert
ef137f09f2 Add lock icon to the 2fa OTP field 2019-04-30 00:21:36 +02:00
Benjamin Neff
607659939d Enable paranoid mode for devise
fixes #8001

closes #8003
2019-04-30 00:21:00 +02:00
Jonne Haß
f7103267a1 Merge branch 'next-minor' into develop 2019-04-28 23:25:04 +02:00
lislis
9d5b981809 Two factor authentication (#7751) 2019-04-28 23:24:40 +02:00
lislis
1da118780e Two factor authentication (#7751) 2019-04-28 19:06:48 +02:00
cmrd Senya
ce597380e6 Merge branch 'next-minor' into develop 2019-04-28 19:29:36 +03:00
cmrd Senya
3f74a759b3 Bump diaspora_federation 2019-04-28 19:28:25 +03:00
Benjamin Neff
8372fb2240 Merge branch 'next-minor' into develop 2019-04-28 16:48:49 +02:00
Jonne Haß
1e827161fe rubocop: increase complexity limits [ci skip] 2019-04-28 16:48:40 +02:00
Benjamin Neff
17af65e22c Allow links with only the diaspora ID to link to a profile
closes #8000
2019-04-28 16:48:31 +02:00
Benjamin Neff
91aae4d755 Fix 500er when calling protocol handler with invalid URL 2019-04-28 16:44:29 +02:00
cmrd Senya
8b35356709 AccountMigration: fix flaky spec 2019-04-28 13:56:35 +03:00
Jonne Haß
a19891174e rubocop: increase complexity limits [ci skip] 2019-04-28 11:08:16 +02:00
Benjamin Neff
d58646085f Merge branch 'next-minor' into develop 2019-04-27 19:12:35 +02:00
Benjamin Neff
035b6f39fc Change wording of description in PWA manifest 2019-04-27 19:11:27 +02:00
Benjamin Neff
cf350c3e92 Merge pull request #7660 from cmrd-senya/archive-import-backend
Archive import backend implementation
2019-04-27 19:07:09 +02:00
cmrd Senya
3c94c1bd29 AuthorPrivateKeyValidator: support old serialization method of RSA keys 2019-04-27 19:17:54 +03:00
Benjamin Neff
6ba9b24c1a Merge branch 'next-minor' into develop 2019-04-27 18:00:40 +02:00
flaburgan
2073791cee Add a manifest.json file as a first step to make diaspora* a PWA
fixes #7997

closes #7998
2019-04-27 18:00:14 +02:00
flaburgan
5b6cef0679 Remove legacy mobile web-capable 2019-04-27 17:56:51 +02:00
cmrd Senya
ee0c3e9865 Account import: add missing profile fields 2019-04-27 17:44:19 +03:00
Jonne Haß
214c2d7af7 Specs: Ensure photos always width and height 2019-04-27 16:05:35 +02:00
Jonne Haß
91b6a807c7 API: fix birthday format in responses 2019-04-27 16:05:22 +02:00
Jonne Haß
52e4e9f903 API: Update post location format to floats instead of floats as strings 2019-04-27 16:04:44 +02:00
Jonne Haß
af59bf3265 API: Do not return redundant author for photos 2019-04-27 16:03:55 +02:00
Jonne Haß
8afa17f940 Don't return aspect order in single user info API route 2019-04-27 16:03:02 +02:00
Jonne Haß
9b8f10358a Introduce JSON Schema for API responses and validate the responses against it 2019-04-27 16:01:54 +02:00
cmrd Senya
b5db8820d6 Account Migration rake task: render warnings with a newline 2019-04-27 15:13:14 +03:00
cmrd Senya
f7324adb9c Account import: import profile data too 2019-04-27 15:13:14 +03:00
cmrd Senya
bffe2b651c AccountMigration spec: flatten shared examples more 2019-04-26 20:58:28 +03:00
cmrd Senya
882e4f9868 AccountMigration specs: remove unused user shortcuts 2019-04-26 20:44:09 +03:00
cmrd Senya
a3196a1089 ArchiveValidator: remove unused TODO 2019-04-26 20:33:21 +03:00
cmrd Senya
597d9e0275 AccountMigration: support chained migration case 2019-04-26 20:29:26 +03:00
cmrd Senya
dd9ac758e8 AccountMigration integration specs: use single example instead of multiple to speed up the spec 2019-04-26 20:13:19 +03:00
cmrd Senya
f774c46db3 AccountMigration specs: move one-time shared contexts in place 2019-04-26 19:45:55 +03:00
cmrd Senya
6b88d2f4e0 AccountMigration specs: move 2-line shared context in place 2019-04-26 19:38:23 +03:00
Jonne Haß
f7a27f0c07 Ignore Metrics/AbcSize Rubocop for PostPresenter#as_api_response
[ci skip]
2019-04-26 18:18:48 +02:00
Jonne Haß
99411fced7 Merge branch 'develop' into api 2019-04-26 17:54:08 +02:00
Benjamin Neff
4e22c4b211 Merge branch 'next-minor' into develop 2019-04-26 17:41:33 +02:00
cmrd Senya
f85f167f50 Implement archive import backend
This implements archive import feature.

The feature is divided in two main subfeatures: archive validation and archive import.

Archive validation performs different validation on input user archive. This can be
used without actually running import, e.g. when user wants to check the archive
before import from the frontend. Validators may add messages and modify the archive.

Validators are separated in two types: critical validators and non-critical validators.

If validations by critical validators fail it means we can't import archive.

If non-critical validations fail, we can import archive, but some warning messages
are rendered.

Also validators may change archive contents, e.g. when some entity can't be
imported it may be removed from the archive.

Validators' job is to take away complexity from the importer and perform the validations
which are not implemented in other parts of the system, e.g. DB validations or
diaspora_federation entity validations.

Archive importer then takes the modified archive from the validator and imports it.

In order to incapsulate high-level migration logic a MigrationService is
introduced. MigrationService links ArchiveValidator, ArchiveImporter and
AccountMigration.

Also here is introduced a rake task which may be used by podmins to run archive
import.
2019-04-26 18:41:27 +03:00
Jonne Haß
d443401361 Stabilize Diaspora::Federation::Entities.build.builds a comment with edited_at
closes #7994
2019-04-26 17:41:25 +02:00
Jonne Haß
a38a93523d Stabilize Diaspora::Federation::Receive.comment.saves the signature data 2019-04-26 17:40:48 +02:00
Jonne Haß
e3c05b5620 Stabilize Diaspora::Federation::Receive.comment.saves the signature data 2019-04-26 15:56:09 +02:00
Jonne Haß
b1cc37e939 Avoid using sleep in the API specs 2019-04-26 13:40:43 +02:00
Jonne Haß
5df1e08610 migrate authorizations scopes column to text 2019-04-26 13:40:43 +02:00
Jonne Haß
3f77507b15 make notifications controller spec stable 2019-04-26 12:26:26 +02:00
Benjamin Neff
e0a6189ec4 Merge branch 'next-minor' into develop 2019-03-30 15:05:47 +01:00
Benjamin Neff
a28be72e74 Bump other dependency gems 2019-03-30 15:04:33 +01:00
Benjamin Neff
093cca9a76 Bump rails-controller-testing 2019-03-30 15:03:12 +01:00
Benjamin Neff
ccbc65993d Bump rspec-rails 2019-03-30 15:03:12 +01:00
Benjamin Neff
d9d0eb1512 Bump webmock 2019-03-30 15:03:12 +01:00
Benjamin Neff
f8419b14ba Bump shoulda-matchers 2019-03-30 15:03:12 +01:00
Benjamin Neff
290ddbf271 Bump capybara 2019-03-30 15:03:11 +01:00
Benjamin Neff
48c4cabd3f Bump byebug 2019-03-30 15:03:11 +01:00
Benjamin Neff
18d7b38037 Bump rubocop 2019-03-30 15:03:11 +01:00
Benjamin Neff
01468c34dd Bump rb-inotify 2019-03-30 15:03:11 +01:00
Benjamin Neff
7ae2dc6249 Bump asset_sync 2019-03-30 15:03:11 +01:00
Benjamin Neff
6f53f1bc0a Bump will_paginate 2019-03-30 15:03:11 +01:00
Benjamin Neff
5195f7daac Bump rails-timeago 2019-03-30 15:03:11 +01:00
Benjamin Neff
2585fb9b49 Bump hamlit 2019-03-30 15:03:11 +01:00
Benjamin Neff
02617a3562 Bump faraday 2019-03-30 15:03:10 +01:00
Benjamin Neff
0372924b90 Bump omniauth 2019-03-30 15:03:10 +01:00
Benjamin Neff
05472cc4f9 Bump secure_headers 2019-03-30 15:03:10 +01:00
Benjamin Neff
da39750244 Bump nokogiri 2019-03-30 15:03:10 +01:00
Benjamin Neff
3b0f435f69 Bump rails-i18n 2019-03-30 15:03:10 +01:00
Benjamin Neff
adaca8d0a3 Bump handlebars_assets 2019-03-30 15:03:10 +01:00
Benjamin Neff
8a10655f7f Bump mini_magick 2019-03-30 15:01:01 +01:00
Benjamin Neff
c8bef1077d Bump fog-aws 2019-03-30 15:01:01 +01:00
Benjamin Neff
da83456660 Bump carrierwave 2019-03-30 15:01:01 +01:00
Benjamin Neff
b7183d7cee Bump activerecord-import 2019-03-30 15:01:01 +01:00
Benjamin Neff
cd7af6df50 Bump pg 2019-03-30 15:01:01 +01:00
Benjamin Neff
54e44d6d7e Bump uglifier 2019-03-30 15:01:01 +01:00
Benjamin Neff
a63f11bbf4 Bump sidekiq-cron 2019-03-30 15:01:01 +01:00
Benjamin Neff
7b201f4bb9 Bump sidekiq 2019-03-30 15:01:00 +01:00
Benjamin Neff
f4fa7e10bd Bump json 2019-03-30 15:01:00 +01:00
Benjamin Neff
23d637b9a1 Bump unicorn 2019-03-30 15:01:00 +01:00
Benjamin Neff
360780c17f Bump responders 2019-03-30 15:01:00 +01:00
Benjamin Neff
c253272d83 Bump bootstrap-sass 2019-03-30 15:01:00 +01:00
Benjamin Neff
c063f6fa1b Bump devise 2019-03-30 15:01:00 +01:00
Benjamin Neff
94a32b2833 Bump rails 2019-03-30 15:00:54 +01:00
Benjamin Neff
fc0de7bbd0 Merge branch 'next-minor' into develop 2019-02-26 01:02:52 +01:00
Benjamin Neff
a4031e09e1 Merge branch 'master' into next-minor 2019-02-26 01:02:42 +01:00
Benjamin Neff
663da1ef25 Merge branch 'release/0.7.10.0' 2019-02-26 01:01:51 +01:00
Benjamin Neff
7595168e01 updated 7 locale files [ci skip] 2019-02-26 00:57:43 +01:00
Dennis Schubert
c30ea112df Merge branch 'next-minor' into develop 2019-02-19 03:04:13 +01:00
Dennis Schubert
189923040d Merge branch 'release/0.7.10.0' into next-minor 2019-02-19 03:03:51 +01:00
Dennis Schubert
a3a0a1fba9 Fix incorrect bug number in the changelog
Good one, eh? [ci skip]
2019-02-19 03:03:20 +01:00
Benjamin Neff
d5735c7981 Merge branch 'next-minor' into develop 2019-02-19 01:58:32 +01:00
Benjamin Neff
4687d7e1ea Start 0.7.11.0 cycle 2019-02-19 01:48:11 +01:00
Benjamin Neff
707e358e48 Merge branch 'next-minor' into develop 2019-02-19 01:30:08 +01:00
Dennis Schubert
e47d0d9675 Replace dandelion.jpg with a public domain photo
Closes #7972

closes #7976
2019-02-19 01:29:52 +01:00
Benjamin Neff
cdfcccd75d Merge branch 'next-minor' into develop 2019-01-14 03:15:51 +01:00
Benjamin Neff
3ea4396ddb Merge branch 'master' into next-minor 2019-01-14 03:13:44 +01:00
Benjamin Neff
1edcb0013c Merge branch 'release/0.7.9.0' 2019-01-14 03:11:54 +01:00
Benjamin Neff
1925127964 updated 87 locale files [ci skip] 2019-01-14 03:09:05 +01:00
Dennis Schubert
97805e6602 Merge branch 'next-minor' into develop 2019-01-13 02:17:22 +01:00
Benjamin Neff
2894984f57 Fix order of posts on tags-stream for tags including 'activity'
closes #7959
2019-01-13 02:17:15 +01:00
Benjamin Neff
7ad758a8d9 Merge branch 'next-minor' into develop 2019-01-07 02:04:26 +01:00
Benjamin Neff
71595b4cbd Start 0.7.10.0 cycle 2019-01-07 02:03:06 +01:00
Benjamin Neff
cf1b0fb414 Merge branch 'next-minor' into develop 2019-01-06 22:32:39 +01:00
Benjamin Neff
654b524397 Fix typo in changelog for 0.7.9.0 2019-01-06 22:27:15 +01:00
Benjamin Neff
2b2852267a Merge branch 'next-minor' into develop 2019-01-06 22:18:48 +01:00
Benjamin Neff
efcaa860ac Revert "Bump bootstrap-switch-rails"
It looks like 3.3.4 is broken :(

Fixes #7940

This reverts commit 5205e3c526.

closes #7955
2019-01-06 22:16:02 +01:00
flaburgan
3f700c3960 Fix photos galley when too many thumbnails by adding a scroll-x
fixes #7942

closes #7943
2019-01-06 22:12:38 +01:00
flaburgan
c8a1f308c6 Rename 'toggle mobile' to 'switch to touch-optimized mode' or 'switch to standard mode'
closes #7926
2019-01-06 22:04:22 +01:00
flaburgan
6804132c15 Do not autofollow back a user you are ignoring
fixes #7808

closes #7913
2019-01-06 22:02:10 +01:00
Hank Grabowski
58d2ce7ba6 Ignore Users in Mobile UI
fixes #7840

closes #7884
2019-01-06 21:55:33 +01:00
Hank Grabowski
3080d1c559 Authentication cucumber tests fixed by updating to for new scopes names 2019-01-01 11:05:55 -05:00
Hank Grabowski
ce01946eb0 Fixed new pronto warnings after develop branch sync 2018-12-30 17:04:35 -05:00
Hank Grabowski
89f918c486 Merge branch 'api' of github.com:frankrousseau/diaspora into api 2018-12-30 16:38:02 -05:00
Hank Grabowski
e127502be5 API Branch Final Cleanup Before PR 2018-12-30 22:33:04 +01:00
Hank Grabowski
9c730fc0f3 OpenID Scopes and Security updates 2018-12-30 22:33:04 +01:00
Hank Grabowski
a53495c9aa API Paging library and used in appropriate controllers with full tests 2018-12-30 22:33:04 +01:00
Hank Grabowski
16bf5d8130 Add Poll Voting Method to Interactions Endpoint 2018-12-30 22:33:04 +01:00
Hank Grabowski
02cf6a9eb2 Photos API Endpoint and unit tests complete 2018-12-30 22:33:04 +01:00
Hank Grabowski
7dba616e4e Search API Endpoint and unit test complete 2018-12-30 22:33:04 +01:00
Hank Grabowski
2f432eb560 Users Controller and unit tests complete 2018-12-30 22:33:04 +01:00
Hank Grabowski
09c13fdf67 Notifications API Endpoint and unit test complete 2018-12-30 22:33:04 +01:00
Hank Grabowski
803abba5c1 Interactions API endpoint complete with full tests 2018-12-30 22:33:04 +01:00
HankG
0f4789a5cb Contacts API Feature complete with full tests 2018-12-30 22:33:04 +01:00
Hank Grabowski
7ae36de2cf Tags API Endpoint complete with full tests 2018-12-30 22:33:04 +01:00
Hank Grabowski
db7fe69ce4 Aspects API Endpoint complete with full tests 2018-12-30 22:31:33 +01:00
Hank Grabowski
173461ac3d Reshares API Endpoint complete with full unit tests 2018-12-30 22:31:33 +01:00
Hank Grabowski
45c8277f2f Conversations API Test Removed 'convo' Abbreviations 2018-12-30 22:31:33 +01:00
HankG
4923338bcf Conversations API Endpoint Feature complete with full tests 2018-12-30 22:31:33 +01:00
HankG
48b1428c57 Streams Controller API feature complete and fully tested 2018-12-30 22:31:33 +01:00
Hank Grabowski
bb2261b47d Posts API Endpoint feature complete with full unit tests 2018-12-30 22:31:33 +01:00
Hank Grabowski
f64a8e04ed Comments API Endpoint complete with full unit tests 2018-12-30 22:31:33 +01:00
Hank Grabowski
7ee9565a04 Likes API endpoint complete 2018-12-30 22:31:33 +01:00
Frank Rousseau
a56d998499 Fix code style 2018-12-30 22:31:33 +01:00
Frank Rousseau
758c673f68 Fix post controller test 2018-12-30 22:31:33 +01:00
Frank Rousseau
5326ddf6c3 Adapt error formatting to documentation 2018-12-30 22:31:33 +01:00
Frank Rousseau
df11297654 Fix like deletion 2018-12-30 22:31:33 +01:00
Frank Rousseau
84ac19a090 Clean API routes
* Remove routes without matching controller
* Rename stream routes to match specifications
* Remove public stream route and related controller
2018-12-30 22:31:33 +01:00
Frank Rousseau
f8969ddfeb Make Post API match specs
https://diaspora.github.io/api-documentation/routes/posts.html
2018-12-30 22:31:33 +01:00
Frank Rousseau
ec47fc67ab Make the comment API match the API specs 2018-12-30 22:31:33 +01:00
Frank Rousseau
317b78394a Improve API error management
* Fix active record not found case
* Display backtrace in error logs
2018-12-30 22:31:33 +01:00
Frank Rousseau
bf2a188f82 Remove default paramter for api routes 2018-12-30 22:31:33 +01:00
Frank Rousseau
ffd5f575bc Make API likes controller match specs 2018-12-30 22:31:33 +01:00
Frank Rousseau
646c743385 Fix stream API routes
Put streams under the subpath `/streams`.
2018-12-30 22:31:33 +01:00
Frank Rousseau
f6b57384e7 Changes to use V1 API version instead of V0 2018-12-30 22:31:33 +01:00
Frank Rousseau
ec18844e8f Move API controllers from v0 to v1 2018-12-30 22:31:33 +01:00
Frank Rousseau
b4dc13f1ce Fix code styles 2018-12-30 22:31:33 +01:00
Frank Rousseau
e6fd043206 Adapt API controllers to recent service changes 2018-12-30 22:31:33 +01:00
Frank Rousseau
36bc122510 Adapt some API route syntax 2018-12-30 22:31:33 +01:00
Frank Rousseau
064beb6f4e Adapt API tests to recent changes 2018-12-30 22:31:33 +01:00
Frank Rousseau
72a3b92b50 Make syntax compliant with the pronto configuration 2018-12-30 22:31:33 +01:00
Frank Rousseau
2a8c0ddd51 Follow official specs 2018-12-30 22:31:33 +01:00
Frank Rousseau
13e2841f13 Merge conv deletion and visibility deletion 2018-12-30 22:31:33 +01:00
Frank Rousseau
f9e0dee2dc Make messages API conformed with docs 2018-12-30 22:31:33 +01:00
Frank Rousseau
5040363f7a Make conversation API data format ok with docs
* Base the API requesting on GUID instead of ID
* Include read field
* Do not include messages in conversation results
2018-12-30 22:31:33 +01:00
Frank Rousseau
2be3e9eaf3 Fix styles for some API controllers
* Comments
* Likes
* Streams
2018-12-30 22:31:33 +01:00
Frank Rousseau
fa53656b3b Add conversation visibilities API controller 2018-12-30 22:31:33 +01:00
Frank Rousseau
f8ba88408b Add messages API controller 2018-12-30 22:31:33 +01:00
Frank Rousseau
559f370116 Add conversations API controller 2018-12-30 22:31:33 +01:00
Frank Rousseau
b37c14ce0e Add service for conversations 2018-12-30 22:31:33 +01:00
Frank Rousseau
c45b785370 Add conversation presenter 2018-12-30 22:31:33 +01:00
Frank Rousseau
f0aecd5790 Add routes for conversation
Including messages and visibilities
2018-12-30 22:31:33 +01:00
Frank Rousseau
35860e2866 Add locales for conversation API controller 2018-12-30 22:31:33 +01:00
Frank Rousseau
5a0759a3d9 Add exception handlers in base API controller
* For record not found returns a 404 response
* For wrong parameters returns a 400 response
* For other exceptions returns a 500 response
2018-12-30 22:31:33 +01:00
theworldbright
6cad0a965a Add likes API route 2018-12-30 22:31:33 +01:00
theworldbright
41750e38da Add streams API routes 2018-12-30 22:31:33 +01:00
theworldbright
c9ba1ee197 Combine Comment index with Post show API route 2018-12-30 22:31:33 +01:00
theworldbright
47dd44ff39 Add comments API routes 2018-12-30 22:31:33 +01:00
theworldbright
552d3efb29 Add posts API routes 2018-12-30 22:31:33 +01:00
Frank Rousseau
6b9b19c284 Merge pull request #24 from frankrousseau/api-final-cleanup
API Final Cleanup
2018-12-30 22:12:53 +01:00
Hank Grabowski
f07912ebdd API Branch Final Cleanup Before PR 2018-12-30 11:50:58 -05:00
Benjamin Neff
3fe0ef350f Merge branch 'next-minor' into develop 2018-12-28 01:39:56 +01:00
CSammy
a21cde4c00 Speed up public stream and remove obsolete indexes
closes #7944
2018-12-28 01:39:49 +01:00
Frank Rousseau
8ffb814166 Merge pull request #22 from frankrousseau/api-openid-updates
WIP: API OpenID Updates
2018-12-27 00:24:02 +01:00
Hank Grabowski
a8d69c48dc OpenID Scopes and Security updates 2018-12-26 14:13:13 -05:00
Frank Rousseau
6ba26496ec Merge pull request #20 from frankrousseau/api-paging-updates
API Paging Updates
2018-12-18 13:44:18 +01:00
Hank Grabowski
7109773b83 API Paging library and used in appropriate controllers with full tests 2018-12-17 22:07:33 -05:00
Frank Rousseau
43c111bd98 Merge pull request #21 from frankrousseau/api-poll-participation-updates
API Poll Participation
2018-12-16 17:23:27 +01:00
Hank Grabowski
ff6d0064d0 Add Poll Voting Method to Interactions Endpoint 2018-12-16 11:06:27 -05:00
Frank Rousseau
32157036d3 Merge pull request #17 from frankrousseau/api-photos-updates
Photos API Endpoint
2018-12-11 01:16:05 +01:00
Hank Grabowski
8851f664e5 Photos API Endpoint and unit tests complete 2018-12-10 12:43:50 -05:00
Frank Rousseau
f284d379dd Merge pull request #19 from frankrousseau/api-search-updates
API Search Endpoint
2018-12-04 15:46:48 +01:00
Hank Grabowski
68d7d59286 Search API Endpoint and unit test complete 2018-12-04 09:24:17 -05:00
Frank Rousseau
df756c5f9f Merge pull request #15 from frankrousseau/api-users-updates
User API Updates
2018-12-04 15:06:33 +01:00
Hank Grabowski
c3852a8e9c Users Controller and unit tests complete 2018-12-04 08:48:16 -05:00
Frank Rousseau
a5bdabea9b Merge pull request #18 from frankrousseau/api-notifications-updates
API Notifications Endpoint
2018-12-04 14:01:58 +01:00
Hank Grabowski
ef762c4920 Notifications API Endpoint and unit test complete 2018-12-04 07:51:57 -05:00
Frank Rousseau
2bfeefe3b3 Merge pull request #16 from frankrousseau/api-interactions-updates
Interactions API Endpoint
2018-12-04 09:22:53 +01:00
Hank Grabowski
6e469825cd Interactions API endpoint complete with full tests 2018-12-03 20:56:50 -05:00
Frank Rousseau
3257e569b9 Merge pull request #14 from frankrousseau/api-contacts-updates
Contacts API Endpoint Complete with Tests
2018-12-02 02:23:57 +01:00
HankG
8a60870f04 Contacts API Feature complete with full tests 2018-12-01 15:21:16 -05:00
Benjamin Neff
6824ef5baf Merge branch 'next-minor' into develop 2018-11-25 22:38:03 +01:00
Benjamin Neff
5a0381f832 Merge branch 'master' into next-minor 2018-11-25 22:37:43 +01:00
Benjamin Neff
6185355e92 Merge branch 'release/0.7.8.0' 2018-11-25 22:36:59 +01:00
Benjamin Neff
09a8c84ae0 updated 51 locale files [ci skip] 2018-11-25 22:34:46 +01:00
Besnik Bleta
5766a08b22 Better wording for the latest changes, part II and final
closes #7934
2018-11-25 22:32:20 +01:00
Besnik Bleta
440775f3b0 Better wording for the latest changes 2018-11-25 22:32:17 +01:00
Besnik Bleta
5ee85721f7 Fixing an oldsyntax error of considering %{actors} as a number, rather than a list of people’s usernames 2018-11-25 22:32:17 +01:00
Besnik Bleta
6c2b3a7b11 Update sq translations 2018-11-25 22:32:14 +01:00
Benjamin Neff
95032bae92 Fix typo in changelog for 0.7.8.0 2018-11-20 22:03:15 +01:00
Benjamin Neff
0d45e709f2 Merge branch 'next-minor' into develop 2018-11-19 00:51:10 +01:00
Benjamin Neff
2d6a68c28f Start 0.7.9.0 cycle
[ci skip]
2018-11-19 00:50:04 +01:00
Benjamin Neff
5b0066a426 Merge branch 'next-minor' into develop 2018-11-18 19:36:51 +01:00
Benjamin Neff
8e170ab976 Add retry on travis to reduce random failures
closes #7932
2018-11-18 19:34:41 +01:00
Benjamin Neff
7a958bce69 Bump cucumber 2018-11-18 19:32:16 +01:00
Benjamin Neff
a09f7d73d8 Remove guard-cucumber
Looks dead, last commit over two years ago, and block upgrade of cucumber

See guard/guard-cucumber#36
2018-11-18 19:27:43 +01:00
Dennis Schubert
a6655c187d Add DIASPORA_DOCKER_PORT env var to change the port exposed by Docker
Set default port to 3000 as this is the default in the diaspora.yml.example

fixes #7927

closes #7928
2018-11-18 19:27:20 +01:00
Benjamin Neff
24fbd59d21 Merge pull request #7931 from SuperTux88/update-gems
Update gems
2018-11-17 23:40:12 +01:00
Benjamin Neff
8fc75e8955 Bump twitter-text 2018-11-17 21:20:51 +01:00
Benjamin Neff
81c833c4e3 Bump rails-assets-pica 2018-11-17 21:20:05 +01:00
Benjamin Neff
5bc32d0aad Bump rails-assets-cropperjs 2018-11-17 21:15:59 +01:00
Benjamin Neff
b30c4e4e97 Merge branch 'next-minor' into develop 2018-11-17 21:08:23 +01:00
Benjamin Neff
b24b31256e Bump warden
closes #7930
2018-11-17 21:06:20 +01:00
Benjamin Neff
ce10791526 Bump guard 2018-11-17 21:05:42 +01:00
Benjamin Neff
6fb1e1f524 Bump jwt 2018-11-17 21:05:42 +01:00
Benjamin Neff
2210cf0038 Bump timers 2018-11-17 21:05:42 +01:00
Benjamin Neff
e1d65d50ab Bump rack-oauth2 2018-11-17 21:05:41 +01:00
Benjamin Neff
5960b33df0 Bump nio4r 2018-11-17 21:05:41 +01:00
Benjamin Neff
72112f8bd7 Bump jsonpath 2018-11-17 21:05:41 +01:00
Benjamin Neff
f3568d9fb3 Bump http 2018-11-17 21:05:41 +01:00
Benjamin Neff
9b435f67de Bump get_process_mem 2018-11-17 21:05:41 +01:00
Benjamin Neff
37ec02dbd0 Bump domain_name 2018-11-17 21:05:41 +01:00
Benjamin Neff
7f67d007a0 Bump bindata 2018-11-17 21:05:40 +01:00
Benjamin Neff
514a370f75 Bump mail 2018-11-17 21:05:40 +01:00
Benjamin Neff
b062818289 Bump yard 2018-11-17 21:05:40 +01:00
Benjamin Neff
19556e7d7d Bump hamlit 2018-11-17 21:05:40 +01:00
Benjamin Neff
63b23056a5 Bump gon 2018-11-17 21:05:40 +01:00
Benjamin Neff
80f57673ab Bump typhoeus 2018-11-17 21:05:40 +01:00
Benjamin Neff
de5e22a543 Bump faraday 2018-11-17 21:04:37 +01:00
Benjamin Neff
98d165c0c5 Bump acts-as-taggable-on 2018-11-17 21:04:37 +01:00
Benjamin Neff
d8016d39cf Bump secure_headers 2018-11-17 21:04:37 +01:00
Benjamin Neff
f0eead3659 Bump rails-i18n 2018-11-17 21:04:37 +01:00
Benjamin Neff
eea609a228 Bump rails-assets-utatti-perfect-scrollbar 2018-11-17 21:04:00 +01:00
Benjamin Neff
efa69a23f4 Bump rails-assets-autosize 2018-11-17 21:02:35 +01:00
Benjamin Neff
382eda2966 Bump rails-assets-markdown-it 2018-11-17 21:02:35 +01:00
Benjamin Neff
67b825233d Bump js-routes 2018-11-17 21:02:35 +01:00
Benjamin Neff
e87b751107 Bump jquery-rails and rails-assets-jquery 2018-11-17 21:02:35 +01:00
Benjamin Neff
092ff0b550 Bump uuid 2018-11-17 21:02:35 +01:00
Benjamin Neff
464854443f Bump mini_magick 2018-11-17 21:02:34 +01:00
Benjamin Neff
cd3b454853 Bump fog-aws 2018-11-17 21:02:34 +01:00
Benjamin Neff
f8b5b99c5c Bump carrierwave 2018-11-17 21:02:34 +01:00
Benjamin Neff
4c8acb5a07 Bump pg 2018-11-17 21:02:34 +01:00
Benjamin Neff
ad725c5649 Bump mysql2 2018-11-17 21:02:34 +01:00
Benjamin Neff
e6375505bc Bump compass-rails 2018-11-17 21:02:34 +01:00
Benjamin Neff
5205e3c526 Bump bootstrap-switch-rails 2018-11-17 21:02:33 +01:00
Benjamin Neff
01f426e739 Bump autoprefixer-rails 2018-11-17 21:02:33 +01:00
Benjamin Neff
06c953a400 Bump uglifier 2018-11-17 21:02:33 +01:00
Benjamin Neff
8ee15ebc13 Bump sidekiq-cron 2018-11-17 21:02:33 +01:00
Benjamin Neff
3dbc0fc632 Bump sidekiq 2018-11-17 21:02:33 +01:00
Benjamin Neff
01db49ef26 Bump devise 2018-11-17 21:02:32 +01:00
Benjamin Neff
a2e326b27d Bump json-schema 2018-11-17 21:01:41 +01:00
Benjamin Neff
a55684c751 Bump unicorn 2018-11-17 21:01:41 +01:00
Benjamin Neff
c9588442a6 Bump rails-assets-jasmine-ajax 2018-11-17 21:01:41 +01:00
Benjamin Neff
0b676452d0 Bump jasmine 2018-11-17 21:01:41 +01:00
Benjamin Neff
d2cffe9d53 Bump rspec and rspec-rails 2018-11-17 21:01:41 +01:00
Benjamin Neff
e48571d6ed Bump webmock 2018-11-17 21:01:41 +01:00
Benjamin Neff
6d46975089 Bump database_cleaner 2018-11-17 21:01:40 +01:00
Benjamin Neff
330b8cd3ba Bump poltergeist 2018-11-17 21:01:40 +01:00
Benjamin Neff
84f3f73f3f Bump fuubar 2018-11-17 21:01:40 +01:00
Benjamin Neff
8ada40ec08 Bump simplecov and coveralls 2018-11-17 21:01:40 +01:00
Benjamin Neff
126866608b Bump pry 2018-11-17 21:01:40 +01:00
Benjamin Neff
05db801925 Bump activerecord-import 2018-11-17 21:01:39 +01:00
Benjamin Neff
4e78d51195 Bump rubocop 2018-11-17 21:01:39 +01:00
Benjamin Neff
a8218a39ed Bump pronto-rubocop 2018-11-17 21:01:39 +01:00
Benjamin Neff
1b21d507c9 Bump haml_lint 2018-11-17 21:01:39 +01:00
Benjamin Neff
da305a44cd Bump asset_sync 2018-11-17 21:01:39 +01:00
Frank Rousseau
b17e519cb4 Merge pull request #10 from frankrousseau/api-tag-updates
Api Tag Endpoint Feature Complete With Tests
2018-11-11 18:07:40 +01:00
Frank Rousseau
6fa99072d1 Merge branch 'api' into api-tag-updates 2018-11-11 18:06:50 +01:00
Hank Grabowski
d5e1cbeefa Tags API Endpoint complete with full tests 2018-11-11 11:45:21 -05:00
Frank Rousseau
82978bb67f Merge pull request #12 from frankrousseau/api-aspects-updates
API Aspects Endpoint Feature Complete With Full Tests
2018-11-11 17:45:06 +01:00
Hank Grabowski
97af2441ee Aspects API Endpoint complete with full tests 2018-11-11 11:30:19 -05:00
Frank Rousseau
6924781bb0 Merge pull request #13 from frankrousseau/api-reshare-update
API Reshare Endpoint Feature Complete With Full Tests
2018-11-11 16:22:05 +01:00
Hank Grabowski
9757637afa Reshares API Endpoint complete with full unit tests 2018-11-11 09:53:13 -05:00
Frank Rousseau
29058d028f Merge pull request #11 from frankrousseau/api-conversations-updates
Conversations API Test Removed 'convo' Abbreviations
2018-11-09 11:08:37 +01:00
Benjamin Neff
652b0064e6 Merge branch 'next-minor' into develop 2018-11-08 20:58:35 +01:00
Benjamin Neff
25a9f5d5d7 Merge branch 'master' into next-minor 2018-11-08 20:58:22 +01:00
Benjamin Neff
fa0e34f687 Merge branch 'hotfix/0.7.7.1' 2018-11-08 20:57:09 +01:00
Benjamin Neff
32cd764786 Fix XSS via OpenGraph on mobile 2018-11-08 20:41:50 +01:00
Benjamin Neff
f23791b7f7 Bump rack
Fixes CVE-2018-16470 and CVE-2018-16471
2018-11-08 19:29:01 +01:00
Hank Grabowski
6bae98d980 Conversations API Test Removed 'convo' Abbreviations 2018-11-08 13:08:52 -05:00
Dennis Schubert
ddaa5c0064 Merge branch 'next-minor' into develop 2018-11-08 05:15:54 +01:00
Benjamin Neff
9723e283e1 Use sudo for docker if socket is not writable
closes #7921
2018-11-08 05:15:47 +01:00
Dennis Schubert
cd16f29c39 Merge branch 'next-minor' into develop 2018-11-08 05:14:36 +01:00
Benjamin Neff
3c55a425c7 Fix script domain for instagram in CSP header
closes #7920
2018-11-08 05:12:55 +01:00
Dennis Schubert
ffe6fc0aa1 Merge branch 'next-minor' into develop 2018-11-08 05:08:16 +01:00
flaburgan
e33466de89 Display raw images in gallery
closes #7890
2018-11-08 05:08:04 +01:00
Dennis Schubert
cee30c36a0 Merge branch 'next-minor' into develop 2018-11-08 05:06:53 +01:00
Hank Grabowski
cab0e0100b 7841 Post Unlike sets status icon correctly
closes #7882
fixes #7841
2018-11-08 05:06:34 +01:00
Frank Rousseau
f428f840f6 Merge pull request #9 from frankrousseau/api-conversations-updates
Conversations API Endpoint Feature complete with full tests
2018-11-07 18:37:25 +01:00
Frank Rousseau
61b134f81d Merge pull request #8 from frankrousseau/api-streams-updates
Streams Controller API feature complete and fully tested
2018-11-06 21:21:24 +01:00
HankG
8b6c32e655 Conversations API Endpoint Feature complete with full tests 2018-11-06 14:52:55 -05:00
HankG
5bfe7048eb Streams Controller API feature complete and fully tested 2018-11-06 13:58:47 -05:00
Frank Rousseau
169136f292 Merge pull request #7 from frankrousseau/api-posts-updates
Posts API Endpoint feature complete with full unit tests
2018-11-05 22:35:05 +01:00
Hank Grabowski
6798ba974c Posts API Endpoint feature complete with full unit tests 2018-11-05 08:30:54 -05:00
Benjamin Neff
0c2cd2ef1b Merge branch 'next-minor' into develop 2018-11-04 03:07:50 +01:00
Bennett Goble
935ff66c96 Sharpen small and medium thumbnails
closes #7924
2018-11-04 03:07:42 +01:00
Benjamin Neff
2c56e447ed Ignore invalid URLs for camo
When people only write `https://` as image URL, this would fail with
`Addressable::URI::InvalidURIError: Absolute URI missing hierarchical segment: 'https://'`.

closes #7922
2018-11-04 03:06:21 +01:00
Benjamin Neff
b2712ebf1d Use libjemalloc if it's available for better memory usage
Fixes #6763

closes #7919
2018-11-04 03:04:39 +01:00
flaburgan
470efd4ec5 Move comment timestamp next to author name, add permalink
closes #7905
2018-11-04 03:01:27 +01:00
Benjamin Neff
d3bb7ade78 Merge branch 'next-minor' into develop 2018-11-02 01:39:11 +01:00
flaburgan
b977e9c39a Save a screenshot of the page in tmp/capybara when a cucumber test is failing
closes #7912
2018-11-02 01:39:04 +01:00
flaburgan
65e0f90b86 Reword the web handler setting
fixes #7838

closes #7909
2018-11-02 01:35:44 +01:00
Frank Rousseau
b8198efc6c Merge pull request #6 from frankrousseau/api-comments-updates
Comments API Endpoint complete with full unit tests
2018-11-02 00:42:04 +01:00
Hank Grabowski
038b6f49a9 Comments API Endpoint complete with full unit tests 2018-11-01 14:14:34 -04:00
Frank Rousseau
9faf38671b Merge pull request #5 from frankrousseau/api-likes-get-details
Likes API endpoint complete
2018-11-01 16:37:21 +01:00
Hank Grabowski
d6915ff5d0 Likes API endpoint complete 2018-11-01 11:06:45 -04:00
Frank Rousseau
2c94994f32 Fix code style 2018-11-01 13:56:18 +01:00
Frank Rousseau
4370315d6c Fix post controller test 2018-11-01 13:56:18 +01:00
Frank Rousseau
a7ea3ba254 Adapt error formatting to documentation 2018-11-01 13:56:18 +01:00
Frank Rousseau
79fe1c2a7e Fix like deletion 2018-11-01 13:56:18 +01:00
Frank Rousseau
27ea63979f Clean API routes
* Remove routes without matching controller
* Rename stream routes to match specifications
* Remove public stream route and related controller
2018-11-01 13:56:18 +01:00
Frank Rousseau
c1ece44c53 Make Post API match specs
https://diaspora.github.io/api-documentation/routes/posts.html
2018-11-01 13:56:18 +01:00
Frank Rousseau
bcbcf6bce3 Make the comment API match the API specs 2018-11-01 13:56:18 +01:00
Frank Rousseau
55dbbad869 Improve API error management
* Fix active record not found case
* Display backtrace in error logs
2018-11-01 13:56:18 +01:00
Frank Rousseau
1b85655d71 Remove default paramter for api routes 2018-11-01 13:56:18 +01:00
Frank Rousseau
348790292b Make API likes controller match specs 2018-11-01 13:56:18 +01:00
Frank Rousseau
39265ab9b5 Fix stream API routes
Put streams under the subpath `/streams`.
2018-11-01 13:56:18 +01:00
Frank Rousseau
797afb1c9b Changes to use V1 API version instead of V0 2018-11-01 13:56:18 +01:00
Frank Rousseau
100b1a4286 Move API controllers from v0 to v1 2018-11-01 13:56:18 +01:00
Frank Rousseau
3532a340c2 Fix code styles 2018-11-01 13:56:18 +01:00
Frank Rousseau
2d40801bb4 Adapt API controllers to recent service changes 2018-11-01 13:56:18 +01:00
Frank Rousseau
f23e947d0c Adapt some API route syntax 2018-11-01 13:56:18 +01:00
Frank Rousseau
b00df8c2e7 Adapt API tests to recent changes 2018-11-01 13:56:18 +01:00
Frank Rousseau
50e034769f Make syntax compliant with the pronto configuration 2018-11-01 13:56:18 +01:00
Frank Rousseau
71d324a8e4 Follow official specs 2018-11-01 13:56:18 +01:00
Frank Rousseau
3f00195eed Merge conv deletion and visibility deletion 2018-11-01 13:56:18 +01:00
Frank Rousseau
bbbe3aea7f Make messages API conformed with docs 2018-11-01 13:56:18 +01:00
Frank Rousseau
454be1b468 Make conversation API data format ok with docs
* Base the API requesting on GUID instead of ID
* Include read field
* Do not include messages in conversation results
2018-11-01 13:56:18 +01:00
Frank Rousseau
d03b830b07 Fix styles for some API controllers
* Comments
* Likes
* Streams
2018-11-01 13:56:18 +01:00
Frank Rousseau
84f972b368 Add conversation visibilities API controller 2018-11-01 13:56:18 +01:00
Frank Rousseau
43a8cbff5d Add messages API controller 2018-11-01 13:56:18 +01:00
Frank Rousseau
0af04a5c1e Add conversations API controller 2018-11-01 13:56:18 +01:00
Frank Rousseau
1879adcde4 Add service for conversations 2018-11-01 13:56:18 +01:00
Frank Rousseau
40d42f4b58 Add conversation presenter 2018-11-01 13:56:18 +01:00
Frank Rousseau
604075c570 Add routes for conversation
Including messages and visibilities
2018-11-01 13:56:18 +01:00
Frank Rousseau
f4f7eb8726 Add locales for conversation API controller 2018-11-01 13:56:18 +01:00
Frank Rousseau
f66bd9e1af Add exception handlers in base API controller
* For record not found returns a 404 response
* For wrong parameters returns a 400 response
* For other exceptions returns a 500 response
2018-11-01 13:56:18 +01:00
theworldbright
e84e3e64c6 Add likes API route 2018-11-01 13:56:18 +01:00
theworldbright
44742109b0 Add streams API routes 2018-11-01 13:56:18 +01:00
theworldbright
ea3395378f Combine Comment index with Post show API route 2018-11-01 13:56:18 +01:00
theworldbright
47c7de22ae Add comments API routes 2018-11-01 13:56:18 +01:00
theworldbright
c432bb4891 Add posts API routes 2018-11-01 13:56:18 +01:00
Dennis Schubert
c1e5f61502 Merge branch 'next-minor' into develop 2018-10-28 22:09:13 +01:00
CSammy
dae1717da8 Add docker setup for development
closes #7870
2018-10-28 22:09:06 +01:00
Dennis Schubert
0da2e9c102 Merge branch 'next-minor' into develop 2018-10-27 00:13:56 +02:00
Dennis Schubert
0133a9f354 updated 17 locale files [ci skip] 2018-10-27 00:13:47 +02:00
Dennis Schubert
a201e3b2c2 updated 17 locale files [ci skip] 2018-10-27 00:12:25 +02:00
Dennis Schubert
21f9a9d134 Merge branch 'next-minor' into develop 2018-10-15 02:45:09 +02:00
Dennis Schubert
2c8d75100c Merge branch 'master' into next-minor 2018-10-15 02:44:43 +02:00
Dennis Schubert
d8c1b4f460 Merge branch 'release/0.7.7.0' 2018-10-15 02:43:19 +02:00
Dennis Schubert
53a7508222 Merge branch 'next-minor' into develop 2018-10-15 02:41:57 +02:00
Dennis Schubert
fcbc470b5c Merge branch 'release/0.7.7.0' into next-minor 2018-10-15 02:41:22 +02:00
Dennis Schubert
af3e2e6d53 updated 33 locale files [ci skip] 2018-10-15 02:40:23 +02:00
Dennis Schubert
a928e40d7f Merge branch 'next-minor' into develop 2018-10-14 06:03:12 +02:00
Zachary Rabinovich
c4fed4bbcc Add the ability to assign roles in the admin panel
closes #7868
2018-10-14 06:03:06 +02:00
Dennis Schubert
bb84767a96 Merge branch 'next-minor' into develop 2018-10-08 02:58:01 +02:00
Dennis Schubert
4911782e9b Merge branch 'release/0.7.7.0' into next-minor 2018-10-08 02:57:50 +02:00
Benjamin Neff
48ebd571d8 Bump diaspora_federation
closes #7876
2018-10-08 02:57:33 +02:00
Benjamin Neff
3be814ea0f Bump nokogiri
Fixes:
* CVE-2016-9318
* CVE-2017-16932
* CVE-2017-18258
* CVE-2018-14404
* CVE-2018-14567
2018-10-08 02:56:56 +02:00
Benjamin Neff
56bb4be9d3 Bump rubyzip
Fixes CVE-2018-1000544
2018-10-08 02:52:53 +02:00
Dennis Schubert
9bab794ea4 Merge branch 'next-minor' into develop 2018-10-08 02:50:36 +02:00
Dennis Schubert
89d9a865b6 Merge branch 'release/0.7.7.0' into next-minor 2018-10-08 02:50:29 +02:00
Benjamin Neff
fc6893d4fc Remove facebook integration
Facebook removed the API and facebook integration is broken now, so lets
remove it.

closes #7874
2018-10-08 02:50:25 +02:00
Dennis Schubert
26212ba3e0 Merge branch 'next-minor' into develop 2018-10-08 02:43:11 +02:00
Dennis Schubert
3cd6f9abbb Start 0.7.8.0 cycle
[ci skip]
2018-10-08 02:42:10 +02:00
Dennis Schubert
a91579e92a Merge branch 'next-minor' into develop 2018-10-04 04:38:10 +02:00
Benjamin Neff
d0c6495bba Bump unicode-display_width
closes #7873
2018-10-04 04:38:05 +02:00
Dennis Schubert
3ebe0e56a8 Merge branch 'next-minor' into develop 2018-10-04 04:37:06 +02:00
Luna Gloaming
45b7f0b119 Added quotation marks for postgresql parameters.
As a new, novice user, I ran into an issue where my postgresql
password contained special characters.  After a brief conversation
with DenSchub on #diaspora, it was noted that while the example
database configuration had quotes added for mysql, but not for
postgresql, and it was suggested this be improved.

closes #7875
2018-10-04 04:36:57 +02:00
Dennis Schubert
fe5c95e0ba Merge branch 'next-minor' into develop 2018-09-30 21:44:49 +02:00
Benjamin Neff
44452749bc Don't depend on the database content when loading the tests
closes #7872
2018-09-30 21:44:44 +02:00
Dennis Schubert
883eb54ecf Merge branch 'next-minor' into develop 2018-09-30 18:00:57 +02:00
Benjamin Neff
d765b34018 Make sure URLs are encoded before sending them to camo
Otherwise camo crashes with:
TypeError [ERR_UNESCAPED_CHARACTERS]: Request path contains unescaped characters

closes #7871
2018-09-30 18:00:49 +02:00
Dennis Schubert
24c7e472d4 Merge branch 'next-minor' into develop 2018-09-30 17:59:12 +02:00
Benjamin Neff
b6333e0b1b Remove reference to statistics.json
and mention /statistics and NodeInfo

closes #7867
2018-09-30 17:58:55 +02:00
Dennis Schubert
026e63b961 Merge branch 'next-minor' into develop 2018-09-08 02:25:44 +02:00
Benjamin Neff
49b63693c9 Fix i18n fallbacks
Fallbacks are set in config/initializers/locale.rb and this settings
conflicts with the fallbacks set there.

Fixes #7860

closes #7861
2018-09-08 02:25:36 +02:00
Benjamin Neff
c9f65332de Merge branch 'next-minor' into develop 2018-09-06 02:33:43 +02:00
Dennis Schubert
65a2b8da12 Include PostsHelper in NotifierHelper
Fixes #7852

closes #7853
2018-09-06 02:33:33 +02:00
Dennis Schubert
232f76e69d Merge branch 'next-minor' into develop 2018-09-06 01:40:55 +02:00
Benjamin Neff
f130ec414e Bump ffi
Fixes CVE-2018-1000201

closes #7859
2018-09-06 01:40:47 +02:00
Dennis Schubert
f66248c315 Merge branch 'next-minor' into develop 2018-09-05 03:19:44 +02:00
Benjamin Neff
cd30a2814d Bump json-jwt and openid_connect
Fixes CVE-2018-1000539
2018-09-05 03:18:59 +02:00
Benjamin Neff
08e108d3d8 Fix comment notification subject for posts without text
Fixes #7854
2018-09-05 03:17:58 +02:00
Dennis Schubert
60b5443850 Merge pull request #7857 from SuperTux88/fix-comment-title-without-text
Fix comment notification subject for posts without text
2018-09-05 03:13:45 +02:00
Dennis Schubert
11dac58dc7 Merge pull request #7856 from SuperTux88/bump-json-jwt
Bump json-jwt
2018-09-05 03:12:52 +02:00
Benjamin Neff
4c4c3d8bf0 Bump json-jwt and openid_connect
Fixes CVE-2018-1000539
2018-09-05 02:19:34 +02:00
Benjamin Neff
2eb17e109b Fix comment notification subject for posts without text
Fixes #7854
2018-09-05 01:32:36 +02:00
Benjamin Neff
76c64ec1f8 Merge branch 'next-minor' into develop 2018-08-24 19:49:37 +02:00
lislis
546ef080c5 bump fixture_builder to 5.2rc3
closes #7849
2018-08-24 19:49:23 +02:00
Benjamin Neff
9b3f90dc90 Merge branch 'next-minor' into develop 2018-07-20 11:07:18 +02:00
Benjamin Neff
79907b78b9 Use podname for web+diaspora:// protocol handler
closes #7839
2018-07-20 11:07:11 +02:00
Benjamin Neff
7fef695e29 Merge pull request #7834 from SuperTux88/fix-photo-uploader-preview
Fix preview with uploaded photos
2018-07-18 01:56:57 +02:00
Benjamin Neff
d06ef4505c Wait for the image actually uploaded and removed again 2018-07-17 20:48:37 +02:00
Benjamin Neff
80bc90afa9 Fix preview with uploaded photos 2018-07-17 20:48:37 +02:00
Benjamin Neff
e5687dd7e0 Merge branch 'next-minor' into develop 2018-07-17 01:25:53 +02:00
Senya
2be60eab1b Update archive-format.json
/ was missing in the profile entity $ref

closes #7835
2018-07-17 01:23:56 +02:00
Benjamin Neff
1289b3b541 Merge branch 'next-minor' into develop 2018-07-13 10:22:04 +02:00
Dennis Schubert
af500dabbc Add section in the User's settings to register the protocol handler
closes #7833
2018-07-13 10:19:43 +02:00
Dennis Schubert
f8a4a2c510 Gracefully ignore exceptions when trying to register the ProtocolHandler 2018-07-13 10:18:48 +02:00
Dennis Schubert
8709c45d30 Move the protocol handler into a proper helper module
Previous file history in 80dfdcd6af, couldn't keep it.
2018-07-13 10:18:48 +02:00
Dennis Schubert
4430f9e887 Add VSCode-related files to the .gitignore 2018-07-13 10:17:44 +02:00
Benjamin Neff
ea15403d57 Merge pull request #7655 from Flaburgan/6721-fix-upload-progress-bar
Fix multiple photos upload progress bar
2018-07-11 01:37:02 +02:00
Benjamin Neff
dcbdb69e22 Merge branch 'next-minor' into develop 2018-07-11 01:35:50 +02:00
cmrd Senya
a7cc0645e0 Cuke for web+diaspora:// link handler
closes #7826
2018-07-11 01:28:53 +02:00
cmrd Senya
80dfdcd6af Add web+diaspora:// links handler installation 2018-07-11 01:26:43 +02:00
cmrd Senya
6f812a5b8f Add LinksController
LinksController redirects requests for provided diaspora:// links to
respective entities urls.
2018-07-11 01:24:28 +02:00
cmrd Senya
2e0b382699 Use 'post' prefix for status message route helpers
This is required to make url_for(StatusMessage.new) work
2018-07-11 01:24:28 +02:00
flaburgan
af02d01d41 Fix progress when uploading multiple photo at the same time 2018-07-09 17:48:30 +02:00
Benjamin Neff
9ff1646cbb Merge branch 'next-minor' into develop 2018-06-30 23:27:39 +02:00
Benjamin Neff
ac868c9c06 Get processor count with ruby (on linux and mac)
closes #7830
2018-06-30 23:27:32 +02:00
Benjamin Neff
4aa08ddf14 Merge branch 'next-minor' into develop 2018-06-27 02:46:26 +02:00
Benjamin Neff
c2fa0b1eba Merge branch 'master' into next-minor 2018-06-27 02:46:04 +02:00
Benjamin Neff
2b3bbc1a6c Merge branch 'release/0.7.6.0' 2018-06-27 02:42:00 +02:00
Benjamin Neff
097754e493 updated 6 locale files [ci skip] 2018-06-27 02:31:52 +02:00
Benjamin Neff
b94ef57bbc Merge branch 'next-minor' into develop 2018-06-20 01:56:25 +02:00
Benjamin Neff
67d6d2ff25 Prepare 0.7.7.0 cycle 2018-06-20 01:38:17 +02:00
Benjamin Neff
f9a59f2ff0 Merge branch 'next-minor' into develop 2018-06-20 00:50:34 +02:00
Benjamin Neff
23fcac6550 Bump sprockets
Fixes CVE-2018-3760

closes #7829
2018-06-20 00:50:24 +02:00
HankG
5a8bdc1e71 Facebook plugin always appends (via D* post URL) to cross-posts
fixes #7770

closes #7774
2018-06-20 00:47:12 +02:00
Benjamin Neff
0b9ba559c7 Merge branch 'next-minor' into develop 2018-06-18 02:48:47 +02:00
flaburgan
3d83fbdbe5 Link to the pod in the emails footer
closes #7814
2018-06-18 02:47:56 +02:00
Benjamin Neff
299c04a24a Merge pull request #7781 from SuperTux88/enable-csp-by-default
Enable Content-Security-Policy header by default
2018-06-16 21:21:07 +02:00
Benjamin Neff
8983901b1a Merge branch 'next-minor' into develop 2018-06-16 21:19:41 +02:00
Benjamin Neff
10841b6031 updated 16 locale files [ci skip] 2018-06-16 21:18:15 +02:00
Jonne Haß
88503539ec migrate hy users to hye
closes #7822
2018-06-16 21:14:43 +02:00
Jonne Haß
fe75602928 update armenian locales 2018-06-16 21:12:13 +02:00
Jonne Haß
fac3c4bbe3 update plural rules 2018-06-16 21:12:13 +02:00
goobertron
d1597c0b23 Update locale_settings.yml with 3 Armenian variants 2018-06-16 21:12:09 +02:00
Benjamin Neff
f3d2a54050 Merge branch 'next-minor' into develop 2018-06-16 04:36:13 +02:00
cmrd Senya
87968284ba Support fetching StatusMessage by Poll guid
When public fetch is requested with Poll guid, return parent
StatusMessage for it, which includes the Poll in its turn.

closes #7815
2018-06-16 04:36:05 +02:00
Radomír Bosák
cfa7724d73 Escape asterisks in README
Unescaped asterisks can cause markdown text to be misinterpreted. Also
syntax highlighters (e.g. in sublime text) freak out.

References: [markdown
spec](https://daringfireball.net/projects/markdown/syntax#em)

closes #7821
2018-06-16 04:32:38 +02:00
Benjamin Neff
212da3a2b7 Merge branch 'next-minor' into develop 2018-06-16 01:23:10 +02:00
Alex Tribble
1b03265c2e Allow fonts to be served from asset host in CSP.
Closes #7796

closes #7825
2018-06-16 01:22:22 +02:00
Benjamin Neff
fa615533f6 Bump kostya-sigar
Fixes compatibility with newer glibc

closes #7828
2018-06-16 01:19:36 +02:00
Benjamin Neff
f863cf08a0 Merge branch 'next-minor' into develop 2018-05-16 19:10:09 +02:00
Benjamin Neff
ebaa209120 Remove gemnasium badge
See: https://docs.gitlab.com/ee/user/project/import/gemnasium.html
2018-05-16 19:09:34 +02:00
Benjamin Neff
0cb212e6cb Merge branch 'next-minor' into develop 2018-05-16 00:54:46 +02:00
cmrd Senya
a3378ae744 Account merging: handle duplicates for TagFollowing
I missed it in #7803

closes #7807
2018-05-16 00:54:16 +02:00
Benjamin Neff
2a60cb30a1 Merge branch 'next-minor' into develop 2018-05-03 21:33:10 +02:00
cmrd Senya
cb294fd3f4 Add completed_at to account_migrations
Use completed_at datetime field as an indication of a performed migration

closes #7805
2018-05-03 21:31:29 +02:00
cmrd Senya
e9f6dbdffd Add unique index to poll participations on author_id and poll_id
Previously we had only a Rails validation which ensured poll participation
uniqueness but this adds uniqueness control to the database level, so that
uniqueness is guaranteed even when changing data with avoiding Rails
validations.

closes #7798
2018-05-03 21:28:38 +02:00
Benjamin Neff
22d1ad995c Merge branch 'next-minor' into develop 2018-04-30 22:54:33 +02:00
Benjamin Neff
b7cd9d6238 Merge branch 'master' into next-minor 2018-04-30 22:54:03 +02:00
Benjamin Neff
42ceb8b3e3 Merge branch 'release/0.7.5.0' 2018-04-30 22:51:23 +02:00
Benjamin Neff
6a3d9ede52 Make ja-KS avaliable 2018-04-30 22:18:55 +02:00
Benjamin Neff
f5350e2df6 updated 77 locale files [ci skip] 2018-04-30 22:10:06 +02:00
cmrd Senya
8680b24a2e Account merging support
Adds support for merging accounts with account migration by eliminating
duplicate data in favor of the target user's data.

closes #7803
2018-04-30 22:06:34 +02:00
Dennis Schubert
360ea20367 Merge branch 'next-minor' into develop 2018-04-23 20:37:03 +02:00
Dennis Schubert
8d6c891ecb Prepare 0.7.6.0 cycle 2018-04-23 20:35:18 +02:00
Dennis Schubert
74bac8c495 Merge branch 'next-minor' into develop 2018-04-23 20:33:20 +02:00
HankG
211e5cd1bc Bugfix 7714 twitter char overflow
closes #7791
2018-04-23 20:33:07 +02:00
Benjamin Neff
c061425022 Add changelog entry for #7788 [ci skip] 2018-04-16 01:32:41 +02:00
Benjamin Neff
c643743df0 Merge pull request #7788 from SuperTux88/remove-mention-backport
Remove backporting of mention syntax
2018-04-16 01:27:47 +02:00
Benjamin Neff
d5f5e1991b Merge branch 'next-minor' into develop 2018-04-16 01:26:56 +02:00
Dennis Schubert
6918dbc761 Randomize start times of daily Sidekiq-Cron jobs
closes #7787
2018-04-16 01:26:48 +02:00
Steffen van Bergerem
53d58a8bcb Remove fileuploader.css
closes #7778
2018-04-16 01:24:38 +02:00
Benjamin Neff
8daf934c45 Remove backporting of mention syntax
fixes #7276, #7392 and #7640
2018-04-15 15:49:23 +02:00
Benjamin Neff
9171f6b5ef Revert "Revert "Bump twitter-text""
Bump twitter-text on develop branch again

This reverts commit 15ff67499b.
2018-04-12 04:01:52 +02:00
Benjamin Neff
25fc4c746a Merge branch 'next-minor' into develop 2018-04-12 04:01:39 +02:00
Benjamin Neff
15ff67499b Revert "Bump twitter-text"
This adds a new dependency (`libidn11-dev` on debian, I'm not sure about
other distros).

This reverts commit 070e4caa57.
2018-04-12 04:00:41 +02:00
Benjamin Neff
bd175cfb12 Bump rails-assets-cropperjs 2018-04-12 02:50:41 +02:00
Benjamin Neff
c1ebc4d338 Merge branch 'next-minor' into develop 2018-04-12 02:49:11 +02:00
Benjamin Neff
9a661177f1 Replace rails-assets-perfect-scrollbar with rails-assets-utatti-perfect-scrollbar
closes #7772
2018-04-12 02:44:43 +02:00
Benjamin Neff
9fb63c8bd6 Bump tins 2018-04-12 02:41:58 +02:00
Benjamin Neff
417ec29ad0 Bump scss_lint 2018-04-12 02:41:57 +02:00
Benjamin Neff
6767465843 Bump rugged 2018-04-12 02:41:57 +02:00
Benjamin Neff
7e3e0058b6 Bump omniauth-oauth2 2018-04-12 02:41:57 +02:00
Benjamin Neff
e6c3d0c8f7 Bump octokit 2018-04-12 02:41:57 +02:00
Benjamin Neff
309d6d7049 Bump oauth 2018-04-12 02:41:57 +02:00
Benjamin Neff
6165a6664c Bump gitlab 2018-04-12 02:41:57 +02:00
Benjamin Neff
129efe66eb Bump et-orbi 2018-04-12 02:41:57 +02:00
Benjamin Neff
ed8c03860a Bump chunky_png 2018-04-12 02:41:57 +02:00
Benjamin Neff
0e526f9221 Bump jasmine
Disable random tests for now, many tests fail when this is true (which
is now default)
2018-04-12 02:41:56 +02:00
Benjamin Neff
eb68343ae1 Bump rspec and rspec-rails 2018-04-12 02:41:56 +02:00
Benjamin Neff
fc2834e7c1 Bump webmock 2018-04-12 02:41:56 +02:00
Benjamin Neff
42c93fd4cb Bump cucumber-api-steps 2018-04-12 02:41:56 +02:00
Benjamin Neff
2b4fed8339 Bump poltergeist 2018-04-12 02:41:56 +02:00
Benjamin Neff
e0a8a5e34c Bump database_cleaner 2018-04-12 02:41:56 +02:00
Benjamin Neff
5432a91839 Bump capybara 2018-04-12 02:41:56 +02:00
Benjamin Neff
1a6afa54e8 Bump fuubar 2018-04-12 02:41:55 +02:00
Benjamin Neff
e0b4bff6a6 Bump fixture_builder 2018-04-12 02:41:55 +02:00
Benjamin Neff
cba90cebe8 Bump pry-byebug 2018-04-12 02:41:55 +02:00
Benjamin Neff
64f330d66b Bump rubocop 2018-04-12 02:41:55 +02:00
Benjamin Neff
6d0cee3047 Bump haml_lint 2018-04-12 02:41:55 +02:00
Benjamin Neff
36c55e2d2e Bump rb-fsevent 2018-04-12 02:41:55 +02:00
Benjamin Neff
39f0c58c4e Bump guard 2018-04-12 02:41:55 +02:00
Benjamin Neff
c98b766d03 Bump asset_sync 2018-04-12 02:41:55 +02:00
Benjamin Neff
9e20215a24 Bump eye 2018-04-12 02:41:54 +02:00
Benjamin Neff
0602e7fa94 Bump versionist 2018-04-12 02:41:54 +02:00
Benjamin Neff
9240a61662 Bump hamlit 2018-04-12 02:41:54 +02:00
Benjamin Neff
7ea9a4d7ae Bump gon 2018-04-12 02:41:54 +02:00
Benjamin Neff
b8094544a0 Bump faraday 2018-04-12 02:41:54 +02:00
Benjamin Neff
9c054e03d8 Bump openid_connect 2018-04-12 02:41:54 +02:00
Benjamin Neff
6773a49362 Bump twitter 2018-04-12 02:41:54 +02:00
Benjamin Neff
8b2a4b18c6 Bump omniauth 2018-04-12 02:41:53 +02:00
Benjamin Neff
7854e14e07 Bump secure_headers 2018-04-12 02:41:53 +02:00
Benjamin Neff
f8c9d2ccd9 Bump string-direction 2018-04-12 02:40:23 +02:00
Benjamin Neff
070e4caa57 Bump twitter-text 2018-04-12 02:40:23 +02:00
Benjamin Neff
89cb887290 Bump leaflet-rails 2018-04-12 02:40:23 +02:00
Benjamin Neff
3e078643ea Bump rails-assets-blueimp-gallery 2018-04-12 02:40:22 +02:00
Benjamin Neff
f894214aa9 Bump rails-assets-autosize 2018-04-12 02:40:22 +02:00
Benjamin Neff
42b316449c Bump rails-assets-corejs-typeahead 2018-04-12 02:40:13 +02:00
Benjamin Neff
92363dc088 Bump rails-assets-markdown-it 2018-04-12 02:39:12 +02:00
Benjamin Neff
8cfe16d3b4 Bump js-routes 2018-04-12 02:39:12 +02:00
Benjamin Neff
d1ab3cf4e4 Bump fog-aws 2018-04-12 02:39:12 +02:00
Benjamin Neff
47c99207f4 Bump carrierwave 2018-04-12 02:39:11 +02:00
Benjamin Neff
312f3e4259 Bump activerecord-import 2018-04-12 02:39:11 +02:00
Benjamin Neff
1359c7a9e8 Bump pg 2018-04-12 02:39:11 +02:00
Benjamin Neff
53b3e395e0 Bump mysql2 2018-04-12 02:39:11 +02:00
Benjamin Neff
54bdd32b86 Bump sass-rails 2018-04-12 02:39:11 +02:00
Benjamin Neff
d31da2e58e Bump autoprefixer-rails 2018-04-12 02:39:11 +02:00
Benjamin Neff
264a64596c Bump rack-cors 2018-04-12 02:39:11 +02:00
Benjamin Neff
94b59f29b0 Bump uglifier 2018-04-12 02:39:11 +02:00
Benjamin Neff
1e8f404b65 Bump sidekiq 2018-04-12 02:39:10 +02:00
Benjamin Neff
a55654b7ee Bump devise 2018-04-12 02:39:10 +02:00
Benjamin Neff
85e95437d8 Bump unicorn 2018-04-12 02:39:10 +02:00
Benjamin Neff
5ee69f412a Bump rails 2018-04-12 02:39:10 +02:00
Benjamin Neff
66175f6908 Merge branch 'next-minor' into develop 2018-04-12 01:56:07 +02:00
Benjamin Neff
686310fb8e Simplify /podmin redirect
Some podmins were confuse how they can disable this redirect and I think
the rule with two users can actually be a little confusing. I think the
main goal of this page to give the podmin a little start and I think
after they configured everything, the pod works and they found the link
to the wiki to make themself an admin, it is OK to remove the redirect.

Also it's bad for single-user pods where this page always stays active,
even if they are an admin, but have only one user. It's more useful for
single-user pods to have the login on the home page.

closes #7783
2018-04-12 01:55:46 +02:00
Benjamin Neff
e31ca1fd3b Fix link to "Make yourself an admin" 2018-04-12 01:45:56 +02:00
Steffen van Bergerem
4aec9fbb42 Fix mention syntax backport for two immediately consecutive mentions
Fixes #7695.

closes #7777
2018-04-12 01:44:44 +02:00
Steffen van Bergerem
01ae004518 Make public stream accessible for logged out users
Fixes #6564.

closes #7775
2018-04-12 01:42:17 +02:00
Benjamin Neff
7d6623d069 Remove contacts page on profiles
closes #7769
2018-04-12 01:40:49 +02:00
Benjamin Neff
4fa92c1823 Remove flag for contacts visible to each other
This feature only worked on the same pod and was more confusing than
useful.
2018-04-12 01:39:11 +02:00
Benjamin Neff
c0a4895854 Enable Content-Security-Policy header by default 2018-04-10 21:29:34 +02:00
Benjamin Neff
89f7f97294 Merge branch 'next-minor' into develop 2018-04-10 01:58:07 +02:00
Benjamin Neff
9b83df9646 Merge branch 'master' into next-minor 2018-04-10 01:57:56 +02:00
Benjamin Neff
aa6f4d46c9 Merge branch 'hotfix/0.7.4.1' 2018-04-10 01:56:29 +02:00
Benjamin Neff
f4ea138a64 Don't return a SafeString after truncate 2018-04-10 01:54:29 +02:00
Dennis Schubert
ae17248b2e Merge pull request #7734 from Fensterbank/client-side-picture-resize
Resize images on client-side before uploading
2018-04-02 10:38:51 +02:00
Benjamin Neff
c84411ea62 Merge branch 'next-minor' into develop 2018-03-25 08:37:11 +02:00
Jonathan Brielmaier
41377378ec Bump mysql2
closes #7747
2018-03-25 08:37:03 +02:00
cmrd Senya
0080a2567f StatusMessageController#create: respond 422 when aspect_ids are wrong
fixes #3862

closes #7742
2018-03-25 08:31:32 +02:00
cmrd Senya
e0e40f73c3 Spec for post creation bad aspects_ids issue 2018-03-25 08:28:59 +02:00
cmrd Senya
f632f8a1f8 Include templates to main.js
This is needed to properly initialize Handlebars partials without
a document ready handler.

fixes #7739

closes #7740
2018-03-25 08:27:23 +02:00
Besnik Bleta
bc3908a103 Update for sq translation 2018-03-25 08:24:38 +02:00
Jonne Haß
5e96cc6d89 add carrierwave error messages 2018-03-25 08:24:10 +02:00
Jonne Haß
b7fa28a5a1 Merge pull request #7746 from ujdhesa/develop
Update for sq translation
2018-03-24 17:49:14 +01:00
Besnik Bleta
a867d64631 Update for sq translation 2018-03-24 18:13:12 +02:00
Benjamin Neff
38d92cc84b Merge branch 'next-minor' into develop 2018-03-22 23:17:15 +01:00
kas70
53b733f0cd adds byebug history to gitignore
closes #7744
2018-03-22 23:15:38 +01:00
kas70
40fc175d6e only include mutual sharing contacts in conversations form on contacts page
fixes #7377
2018-03-22 23:15:24 +01:00
Benjamin Neff
0d07d9f3de Merge branch 'next-minor' into develop 2018-03-18 23:14:20 +01:00
Benjamin Neff
c7709e29f2 Merge branch 'master' into next-minor 2018-03-18 23:13:48 +01:00
Benjamin Neff
d031375610 Merge branch 'release/0.7.4.0' 2018-03-18 23:11:47 +01:00
Benjamin Neff
aadd64b0a5 updated 43 locale files [ci skip] 2018-03-18 23:05:19 +01:00
Jonne Haß
e1b1491f75 Merge branch 'next-minor' into develop 2018-03-16 11:31:34 +01:00
Jonne Haß
300d09e258 add ja-KS fallback to ja 2018-03-16 11:31:11 +01:00
Benjamin Neff
12cb2be641 Merge branch 'next-minor' into develop 2018-03-13 00:02:52 +01:00
Benjamin Neff
4d54c85eee Start 0.7.5.0 cycle 2018-03-12 23:59:31 +01:00
Frédéric Bolvin
6d55b15604 Resize images on client-side before uploading 2018-03-11 11:20:16 +01:00
Dennis Schubert
29daea1b0a Merge branch 'next-minor' into develop 2018-03-10 04:46:01 +01:00
Benjamin Neff
3bb6d6d677 Bump rails-i18n
fixes #7527

closes #7731
2018-03-10 04:45:54 +01:00
Benjamin Neff
0b0070abeb Bump yard 2018-03-10 04:45:10 +01:00
Benjamin Neff
11d30f9066 Bump rack-protection 2018-03-10 04:45:06 +01:00
Benjamin Neff
f14547b2ea Merge branch 'next-minor' into develop 2018-03-10 00:01:36 +01:00
cmrd Senya
0ae19071ad Set video click handler at app.views.ExpandedComment
fixes #7736

closes #7737
2018-03-10 00:01:13 +01:00
Benjamin Neff
b263cf7e6d Merge branch 'next-minor' into develop 2018-03-07 00:39:52 +01:00
Dennis Schubert
3643612b1c Back to Top: Make sure to re-check the visibility after the scrolling is done
If a user scrolls just below the 1000px threshold and clicks the back-to-top button within 250ms, we'll never hide the button as the scroll event gets throttled away. That's rather inconvenient.

closes #7729
2018-03-07 00:39:36 +01:00
Dennis Schubert
8e88f4b183 Add the back-to-top button to all views
fixes #7727
2018-03-07 00:39:26 +01:00
Benjamin Neff
e7c6496a09 Merge pull request #7730 from Fensterbank/fix-profile-picture-csp
Allow blob: URIs to be used as a content source in CSP header
2018-03-04 01:49:09 +01:00
Frédéric Bolvin
23e4062342 Allow blob: URIs to be used as a content source in CSP header 2018-03-03 21:12:18 +01:00
Dennis Schubert
c4839613ea Merge branch 'next-minor' into develop 2018-02-27 00:48:47 +01:00
Benjamin Neff
4e5ee36675 Keep order of profile tags
closes #7724
2018-02-27 00:48:42 +01:00
Benjamin Neff
4cd8de5327 Refactor taggable tests to use let 2018-02-27 00:48:08 +01:00
Dennis Schubert
f1d71eb592 Merge branch 'next-minor' into develop 2018-02-27 00:47:37 +01:00
Benjamin Neff
f883c6ede2 Add /camo/ to robots.txt
Camo only proxies images hosted somewhere else, so it doesn't make sense
to add the proxied versions to search engines. It only creates traffic
for camo when /camo/* urls are in search results.

closes #7726
2018-02-27 00:47:32 +01:00
Benjamin Neff
198dddd69e Merge branch 'next-minor' into develop 2018-02-25 23:03:17 +01:00
Benjamin Neff
9fa254b898 Use https:// for media-embed tests
I overlooked this when reviewing #6418 since it is excluded on travis
because of the @nophantomjs tag (so it didn't fail). But since we block
http:// embeds now, we need to use https:// for the tests.
2018-02-25 22:59:27 +01:00
Benjamin Neff
74d027a3ab Set frozen config as boolean
This is normalized to "true" in the config after running bin/bundle, so
rerunning script/configure_bundler resets this back to 1 (which is the
same, but we don't need to change this back and forth every time).
2018-02-25 22:56:57 +01:00
Dennis Schubert
ab903af80b Merge branch 'next-minor' into develop 2018-02-25 04:35:53 +01:00
Benjamin Neff
beeb073dbe Fix followed tags posts in stream for posts with multiple tags
When there were posts with many followed tags they were returned
multiple times, resulting in less than 15 unique posts. That resulted in
some posts to be missed in the stream.

Fixes #4503

closes #7715
2018-02-25 04:35:49 +01:00
Dennis Schubert
5d23c6bfcf Merge branch 'next-minor' into develop 2018-02-25 04:34:08 +01:00
Benjamin Neff
f0aca56c8f Don't retry for PublicKeyNotFound
We only return `nil` when we know the person, but don't know the key or
the key is invalid, so it doesn't make sense to retry in this case. When
the person isn't known and can't be fetched we raise a DiscoveryError
which will be retried.

Also the errors were moved to the `Signable` module in the last release.

closes #7717
2018-02-25 04:34:04 +01:00
Dennis Schubert
3bc0fc16a2 Merge branch 'next-minor' into develop 2018-02-25 04:33:07 +01:00
Benjamin Neff
602a1dcd55 Store edited_at for relayables in additional_data
closes #7718
2018-02-25 04:33:03 +01:00
Benjamin Neff
0b4b3515a5 Start sending updated_at timestamp as edited_at for profiles
This can be used in later diaspora versions to order the profile updates
so we don't overwrite a newer profile with older data.
2018-02-25 04:32:19 +01:00
Benjamin Neff
86d52a0da3 Bump diaspora_federation 2018-02-25 04:32:19 +01:00
Dennis Schubert
1903bfd307 Merge pull request #7581 from Fensterbank/improved-profile-picture-editor
Profile photo upload with cropping function
2018-02-25 04:17:44 +01:00
Benjamin Neff
0cb2a8f4d7 Merge branch 'next-minor' into develop 2018-02-22 00:49:32 +01:00
Benjamin Neff
c89b2ad809 Prevent duplicate mention notifications when the post is received twice
closes #7721
2018-02-22 00:49:21 +01:00
Brad Koehn
b80eb01f34 piped bin/bundle commands to suppress warnings when run on readonly filesystems
closes #7719
2018-02-22 00:45:45 +01:00
Benjamin Neff
0b921c6657 Merge branch 'next-minor' into develop 2018-02-17 19:26:15 +01:00
cmrd Senya
3e31b91b11 Add @nophantomjs tag to default cucumber profile
Use this tag for tests which can't work with PhantomJS, but which we
can run with Selenium using some other profile (not implemented here).

closes #6418
2018-02-17 19:24:39 +01:00
cmrd Senya
b32c844314 Support for embedding HTML5 media links
Use markdown-it-html5-embed plugin so user can embed audio and
video using the markdown link syntax []() in the HTML5 way.
2018-02-17 19:21:10 +01:00
Steffen van Bergerem
258b502cde Bump devise
closes #7716
2018-02-17 19:20:15 +01:00
Steffen van Bergerem
fa14e1e368 Bump hamlit 2018-02-17 19:20:12 +01:00
Steffen van Bergerem
b786d237cd Bump haml 2018-02-17 19:20:02 +01:00
Frédéric Bolvin
d7abaaced0 implemented new profile photo upload with cropping function 2018-02-16 19:43:32 +01:00
Dennis Schubert
049db8626d Merge branch 'next-minor' into develop 2018-02-10 16:13:44 +01:00
Saverio Miroddi
1ebb5dd72d Don't print a warning when starting the server outside a Git repo
Currently, git checks are performed on server start, even when outside a git
repository.

This commit verify the presence of a git repository (via `git status` exit
code), and perform checks only if it exists.

closes #7712
2018-02-10 16:13:38 +01:00
Dennis Schubert
948e31b10c Merge branch 'next-minor' into develop 2018-02-09 03:15:38 +01:00
Dennis Schubert
f8ce276ddc Merge branch 'master' into next-minor 2018-02-09 03:15:18 +01:00
Dennis Schubert
b23696bb88 Merge branch 'hotfix/0.7.3.1' 2018-02-09 03:13:51 +01:00
Dennis Schubert
005dd923c9 Pull updated German translations to fix "reshare" UX issues 2018-02-09 03:09:44 +01:00
Benjamin Neff
e9e08831e6 Merge branch 'next-minor' into develop 2018-02-08 23:20:12 +01:00
Benjamin Neff
3033e915e5 Merge branch 'next-minor' of github.com:diaspora/diaspora into next-minor 2018-02-08 23:19:57 +01:00
Benjamin Neff
fc2397c062 Merge branch 'next-minor' into develop 2018-02-08 22:55:43 +01:00
Benjamin Neff
a8fcbb3365 Merge branch 'master' into next-minor 2018-02-08 22:55:30 +01:00
Benjamin Neff
1f3ad2fa65 Merge branch 'release/0.7.3.0' 2018-02-08 22:54:14 +01:00
Benjamin Neff
aff4be8821 updated 21 locale files [ci skip] 2018-02-08 22:46:45 +01:00
Benjamin Neff
e0687e8de3 Upgrade Nokogiri to fix a disclosed vulnerability in libxml2 2018-02-08 22:44:11 +01:00
Dennis Schubert
ea606b374a Merge branch 'next-minor' into develop 2018-02-03 16:43:30 +01:00
Fla
35535d5bfb Remove unnecessary quotes in database.yml.examle
[ci skip]

closes #7711
2018-02-03 16:42:51 +01:00
Dennis Schubert
3121de7954 Merge branch 'next-minor' into develop 2018-02-01 23:49:55 +01:00
Dennis Schubert
7abb0518e9 Start 0.7.4.0 cycle
[ci skip]
2018-02-01 23:48:04 +01:00
Dennis Schubert
f6e359a669 Merge branch 'next-minor' into develop 2018-02-01 23:42:04 +01:00
Benjamin Neff
5e157dc9c3 Send participation after receiving a public post
This is to let the author of the post know, that this pod is interested
in updates about this post.

The sending user is only used to verify that the participation was sent
from this pod, but lets use an admin/podmin account if available.

closes #7708
2018-02-01 23:40:51 +01:00
Benjamin Neff
6c5b8b73af Fix post_message for posts without text
fixes #7700
closes #7706
2018-02-01 23:39:18 +01:00
Benjamin Neff
a32cac06ab Retry Contact messages 20 time (about two weeks)
closes #7705
2018-02-01 23:37:53 +01:00
Benjamin Neff
b9787cc632 Start sending the blocking flag 2018-02-01 23:35:35 +01:00
Benjamin Neff
815cf121ab Remove participants limit for conversations
The limit was added in 2012 to prevent spam, but since the participants
need to be a mutual contact with the author nowadays, I don't think it's
a spam problem anymore.
2018-02-01 23:35:35 +01:00
Benjamin Neff
80bfc3fcfd Bump diaspora_federation 2018-02-01 23:35:35 +01:00
Benjamin Neff
746ff52256 Fix mention in #newhere message when invited by another person
fixes #7701
closes #7702
2018-02-01 23:35:04 +01:00
Benjamin Neff
f23966ef87 Make mobile bookmarklet work the same way as with desktop UI
This fixes that it fails when you call it without notes parameter.

closes #7698
2018-02-01 23:33:36 +01:00
Benjamin Neff
750481497f Merge branch 'next-minor' into develop 2018-01-31 22:17:07 +01:00
Fla
a72feee812 Changelog misspelling [ci skip]
closes #7710
2018-01-31 22:15:27 +01:00
Benjamin Neff
1d683295e1 Merge branch 'next-minor' into develop 2018-01-21 21:30:59 +01:00
flaburgan
b156c2f1a3 Use current-password and new-password for password autocomplete
closes #7642
fixes #7633
2018-01-21 21:29:06 +01:00
Dennis Schubert
9ec07911de Merge branch 'next-minor' into develop 2018-01-12 17:56:17 +01:00
Dennis Schubert
5a6bd47000 Merge branch 'master' into next-minor 2018-01-12 17:56:01 +01:00
Dennis Schubert
a40824cd2b Merge branch 'hotfix/0.7.2.1' 2018-01-12 17:54:27 +01:00
Benjamin Neff
5bc4473e11 Fix notifications when people remove their birthday date
Some people may remove their birthday date after the notification was
sent, which then breaks the notification page for other users. Let's
just display the date when the notification was created, and not display
the users updated birthday date. When users update from date A to B it
always looks weird anyway, when we display the same new date B twice on
different days, or display two different dates for the same user.

We could remove notifications when users change or remove their
birthday, but that would be way more complex and also we usually don't
remove notifications (not even for deleted posts).

Fixes #7689

closes #7691
2018-01-12 17:52:57 +01:00
Benjamin Neff
b3d3445a7e Merge branch 'next-minor' into develop 2018-01-09 00:06:44 +01:00
Brad Koehn
1a3c16eb6e update to support 280 character Twitter
closes #7694
closes #7662
fixes #7661
2018-01-09 00:05:33 +01:00
Dennis Schubert
13d24cc611 Merge branch 'next-minor' into develop 2018-01-08 21:15:49 +01:00
Janakas
0347507b20 Delete archive files when closing an account
closes #7684
2018-01-08 21:15:41 +01:00
Janakas
d4e5d13a8f Remove old export archives after 2 weeks
Fixes #5727
2018-01-08 21:14:06 +01:00
Janakas
497c647983 Rearrange userdata-export section and change timestamp to timeago 2018-01-08 21:14:01 +01:00
Benjamin Neff
e059b8ad48 Merge branch 'next-minor' into develop 2018-01-05 03:46:06 +01:00
Janakas
d150a6b2af Fix invite link on /contacts
closes #7690
2018-01-05 03:45:54 +01:00
Benjamin Neff
d3632e116a Merge branch 'next-minor' into develop 2018-01-05 01:50:27 +01:00
Benjamin Neff
c135ace407 Fix notifications when people remove their birthday date
Some people may remove their birthday date after the notification was
sent, which then breaks the notification page for other users. Let's
just display the date when the notification was created, and not display
the users updated birthday date. When users update from date A to B it
always looks weird anyway, when we display the same new date B twice on
different days, or display two different dates for the same user.

We could remove notifications when users change or remove their
birthday, but that would be way more complex and also we usually don't
remove notifications (not even for deleted posts).

Fixes #7689

closes #7691
2018-01-05 01:50:11 +01:00
Benjamin Neff
a2ca74265c Merge branch 'next-minor' into develop 2017-12-30 15:41:04 +01:00
Janakas
2e3b7dee1e Check for a running redis in script/server
Fixes #5267

closes #7685
2017-12-30 15:40:30 +01:00
Benjamin Neff
03ee954c10 Merge branch 'next-minor' into develop 2017-12-26 03:38:10 +01:00
Benjamin Neff
25d41429bc Merge branch 'master' into next-minor 2017-12-26 03:37:57 +01:00
Benjamin Neff
cf2bd66005 Merge branch 'release/0.7.2.0' 2017-12-26 03:36:49 +01:00
Benjamin Neff
a9cce95a74 updated 32 locale files [ci skip] 2017-12-26 03:30:32 +01:00
Benjamin Neff
151a169791 Merge branch 'next-minor' into develop 2017-12-25 20:55:27 +01:00
Benjamin Neff
ba85f35ae9 Merge branch 'release/0.7.2.0' into next-minor 2017-12-25 20:55:22 +01:00
Benjamin Neff
e0eb76eb2a Remove aspect_ids parameter from publisher
closes #7683
2017-12-25 20:54:10 +01:00
Benjamin Neff
70c659192f Fix default aspects on profile page and bookmarklet publisher
Fixes #7679
2017-12-25 20:54:05 +01:00
Benjamin Neff
fb084e47af Merge branch 'next-minor' into develop 2017-12-24 02:50:36 +01:00
Benjamin Neff
53b7dcd8ca Merge branch 'release/0.7.2.0' into next-minor 2017-12-24 02:50:28 +01:00
Benjamin Neff
d59b5b2df7 Fix birthday notification mail
Fixes #7681

closes #7682
2017-12-24 02:50:19 +01:00
Benjamin Neff
c3c0059734 Merge branch 'next-minor' into develop 2017-12-18 04:57:11 +01:00
Benjamin Neff
c5536395c0 Start 0.7.3.0 cycle 2017-12-18 04:55:45 +01:00
Benjamin Neff
d42801a737 Merge branch 'next-minor' into develop 2017-12-18 04:41:49 +01:00
flaburgan
53603917eb Fix deformed hovercards avatar
closes #7656

fixes #6039
2017-12-18 04:40:13 +01:00
Rete2
fc33a2ac5d Create birthday notification and mailer
closes #7624

fixes #1649
2017-12-18 04:34:35 +01:00
Jonne Haß
c8d1043590 add carrierwave error messages 2017-12-03 14:53:44 +01:00
Benjamin Neff
21980681b1 Merge branch 'next-minor' into develop 2017-11-01 00:50:23 +01:00
Benjamin Neff
89eeec72d3 Merge branch 'master' into next-minor 2017-11-01 00:50:17 +01:00
Benjamin Neff
2c9fec91da Merge branch 'hotfix/0.7.1.1' 2017-11-01 00:49:19 +01:00
Benjamin Neff
7c4648030f Run rake directly without xvfb on travis
closes #7654
2017-11-01 00:46:36 +01:00
Benjamin Neff
4e267bb1ef Use configure_bundler script on travis 2017-11-01 00:45:22 +01:00
Benjamin Neff
a14115119c Add script/configure_bundler to set correct bundler options 2017-11-01 00:45:22 +01:00
Benjamin Neff
63fcc9c1bc Fix compatibility with Bundler 1.6
Stop using `Bundler.settings.with`, because it will be removed from
Bundler 1.6.

Also, as described in #7653, we could use `Bundler.settings[:with]`, but
that would be internal API again, so it probably breaks again in the
future. That's why I added a `BundlerHelper` module to parse the
required optional group from our config files, without the use of any
internal Bundler API.

Fixes #7653
2017-11-01 00:45:18 +01:00
Benjamin Neff
6351399197 Merge branch 'next-minor' into develop 2017-10-27 02:27:11 +02:00
Benjamin Neff
70410d1691 Ignore invalid diaspora:// links
Fixes #7651

closes #7652
2017-10-27 02:26:52 +02:00
Benjamin Neff
42a8129016 Merge branch 'next-minor' into develop 2017-10-21 00:46:22 +02:00
Benjamin Neff
2ce7d59cb3 Merge branch 'master' into next-minor 2017-10-21 00:45:59 +02:00
Benjamin Neff
db95c94c97 Merge branch 'release/0.7.1.0' 2017-10-21 00:44:32 +02:00
Benjamin Neff
783650e34c updated 35 locale files [ci skip] 2017-10-21 00:41:40 +02:00
Benjamin Neff
30a940f483 Merge branch 'next-minor' into develop 2017-10-20 02:56:20 +02:00
Benjamin Neff
4bf0a74382 Merge branch 'release/0.7.1.0' into next-minor 2017-10-20 02:56:16 +02:00
Benjamin Neff
0f688b9d73 Group notifications by updated_at
The notifications need to be grouped by the same date as they are
sorted, otherwise the date used for the group doesn't match all
timestamps in the group and also the groups are sorted by the wrong
date.

This fixes #7647, a regression of #7568.

closes #7648
2017-10-20 02:56:06 +02:00
Benjamin Neff
cae06d95ea Merge branch 'next-minor' into develop 2017-10-20 01:25:37 +02:00
Benjamin Neff
f7349457d3 Merge branch 'release/0.7.1.0' into next-minor 2017-10-20 01:25:33 +02:00
Benjamin Neff
c9423bfdd2 Add some progress indicators to the account deletions rake task
[ci skip]

closes #7646
2017-10-20 01:25:28 +02:00
Benjamin Neff
66095e3f03 Merge branch 'next-minor' into develop 2017-10-18 01:08:48 +02:00
Benjamin Neff
31559ce483 Merge branch 'release/0.7.1.0' into next-minor 2017-10-18 01:08:35 +02:00
Benjamin Neff
9673f45ff9 Cleanup empty signatures
Some relayables from redmatrix and hubzilla have empty signatures. They
are invalid and break therefore the user data export.

closes #7644
2017-10-18 01:08:26 +02:00
Benjamin Neff
d6bec055e7 Merge branch 'next-minor' into develop 2017-10-17 01:39:46 +02:00
Benjamin Neff
1ac0dfbbbc Merge branch 'release/0.7.1.0' into next-minor 2017-10-17 01:39:39 +02:00
cmrd Senya
2e9c6f46dc Clean up invalid contacts from the DB
Cleans invalid contacts where the referenced user was deleted from the DB or where
the referenced person owner was deleted from the DB.

closes #7632
2017-10-17 01:39:22 +02:00
cmrd Senya
ad025850ce Forbid user destruction 2017-10-17 01:38:36 +02:00
cmrd Senya
973e9d98c6 Raise sensible error message when user is missing
That's for the case when podmin has messed up the database
2017-10-17 01:38:36 +02:00
cmrd Senya
f212b51f7f Check for user existence on aspect membership destruction 2017-10-17 01:38:36 +02:00
Benjamin Neff
a36d22d72b Handle duplicate account migrations
closes #7641
2017-10-17 01:36:25 +02:00
Benjamin Neff
2bd9c663c5 Add rake task to rerun failed account deletions
closes #7639
2017-10-17 01:33:43 +02:00
Benjamin Neff
6d5647ec11 Handle duplicate account deletions 2017-10-17 01:32:14 +02:00
Benjamin Neff
b920ddbff5 Move special and ignored associations to tests 2017-10-17 01:32:14 +02:00
Benjamin Neff
f704f30572 Remove conversation visibilities with standard person associations 2017-10-17 01:32:14 +02:00
Benjamin Neff
f4902421ea Destroy user and person associations in batches 2017-10-17 01:32:14 +02:00
Benjamin Neff
4e6d92ce63 Remove wrapping transaction for account deletion
This uses a lot of memory for big accounts. Also it doesn't make much
sense to rollback everything when something fails, it's better to delete
everything we can.
2017-10-17 01:32:13 +02:00
flaburgan
faff140a3f Avoid page to jump to top after a post deletion, fixes #7628
closes #7638
2017-10-17 01:30:12 +02:00
Benjamin Neff
2711b9dc83 Cleanup relayables where the signature is missing
When we should have the signature but don't have it, the user data
export fails. There are a few comments from back in 2011 where the
signature is missing.

Also some podmins maybe messed with signatures in their database, which
would also break the exports now.

closes #7637
2017-10-17 01:27:00 +02:00
Benjamin Neff
32067246df Delete people with invalid diaspora IDs (friendica with path)
closes #7630
2017-10-17 01:23:47 +02:00
Benjamin Neff
4bbb25fedf Merge branch 'next-minor' into develop 2017-09-28 23:39:56 +02:00
Benjamin Neff
1b6ffa2528 Start 0.7.2.0 cycle 2017-09-28 23:38:57 +02:00
Benjamin Neff
0029f2c1da Merge branch 'next-minor' into develop 2017-09-28 23:11:56 +02:00
Benjamin Neff
fd36517dee Limit the number of parallel exports that are allowed to run
closes #7629
2017-09-28 23:11:46 +02:00
Benjamin Neff
b8fb4b6251 Delete invalid oEmbed caches with binary titles
There are a few old oEmbed caches which have the title saved in binary
(because they contain Chinese characters). This fails with
`ActionView::Template::Error ("å" from ASCII-8BIT to UTF-8)`. Since I
found only very old OEmbed caches with this problem (newest from 2012),
I think we can just remove these. When I create a new oEmbed cache for
the same URL it creates it without `!binary`.

closes #7620
2017-09-28 23:10:07 +02:00
Benjamin Neff
3fafcd9307 The diaspora ID validator now validates if it is lowercase
Relaying relayables will fail with non-lowercase authors.

closes #7625
2017-09-28 23:08:41 +02:00
Benjamin Neff
84b89d5594 Relay likes for comments 2017-09-28 23:04:35 +02:00
Benjamin Neff
5f5d8c5e13 Replace diaspora:// links in the text 2017-09-28 23:04:35 +02:00
Benjamin Neff
4a994b0a48 Creates references for linked posts after create 2017-09-28 23:04:34 +02:00
Benjamin Neff
c82e891c03 Add reference source and target behaviour 2017-09-28 23:04:34 +02:00
Benjamin Neff
28d3271933 Create refereces model 2017-09-28 23:04:34 +02:00
Benjamin Neff
35711606e4 Remove public and provider_display_name from reshares 2017-09-28 23:04:34 +02:00
Benjamin Neff
bb97aa8538 Allow RFC 7033 WebFinger via http:// for development 2017-09-28 23:04:34 +02:00
Benjamin Neff
7c304119e1 Bump diaspora_federation 2017-09-28 23:04:21 +02:00
Benjamin Neff
829882cf58 Merge branch 'next-minor' into develop 2017-09-28 03:28:30 +02:00
Benjamin Neff
95fbd3fc66 Don't change the filename of the export everytime the user is touched
closes #7622
2017-09-28 03:28:15 +02:00
Benjamin Neff
ac39e920c8 Add camo to NodeInfo
closes #7617
2017-09-28 03:20:31 +02:00
Benjamin Neff
e4b0b569e2 Bump pry
closes #7618
2017-09-28 03:15:34 +02:00
Benjamin Neff
ca8a3db5bc Bump leaflet-rails 2017-09-28 03:15:32 +02:00
Benjamin Neff
5ebbacf444 Mock call to nominatim for cucumber 2017-09-28 03:15:32 +02:00
Benjamin Neff
bd99127600 Bump rails-assets-markdown-it 2017-09-28 03:15:32 +02:00
Benjamin Neff
1e44d9c0a9 Bump rails-assets-jasmine 2017-09-28 03:15:31 +02:00
Benjamin Neff
33c92028f8 Bump rails-assets-blueimp-gallery 2017-09-28 03:15:31 +02:00
Benjamin Neff
f35e5d9cd9 Bump simplecov-html 2017-09-28 03:15:31 +02:00
Benjamin Neff
2e19fa6eec Bump hashdiff 2017-09-28 03:15:31 +02:00
Benjamin Neff
abeb46aa2d Bump haml 2017-09-28 03:15:31 +02:00
Benjamin Neff
f50b28ab7d Bump fabrication 2017-09-28 03:15:31 +02:00
Benjamin Neff
6dbad14d00 Bump bindata 2017-09-28 03:15:31 +02:00
Benjamin Neff
a9bb673881 Bump rubocop 2017-09-28 03:15:30 +02:00
Benjamin Neff
156c7b8253 Bump pry-byebug 2017-09-28 03:15:30 +02:00
Benjamin Neff
34a149f61a Bump pronto 2017-09-28 03:15:30 +02:00
Benjamin Neff
5edbd8f740 Bump jasmine 2017-09-28 03:15:30 +02:00
Benjamin Neff
edfab73589 Bump typhoeus 2017-09-28 03:15:30 +02:00
Benjamin Neff
e607057138 Bump sprockets-rails 2017-09-28 03:15:30 +02:00
Benjamin Neff
eac9e8fd97 Bump secure_headers 2017-09-28 03:15:30 +02:00
Benjamin Neff
aac57a926b Bump js-routes 2017-09-28 03:15:30 +02:00
Benjamin Neff
769abf6948 Bump fog-aws 2017-09-28 03:15:29 +02:00
Benjamin Neff
c8f24dd872 Bump faraday_middleware 2017-09-28 03:15:29 +02:00
Benjamin Neff
9a3faa8917 Bump autoprefixer-rails 2017-09-28 03:15:29 +02:00
Benjamin Neff
8d01a1d389 Bump addressable 2017-09-28 03:15:29 +02:00
Benjamin Neff
6543e1c200 Bump activerecord-import 2017-09-28 03:15:29 +02:00
Benjamin Neff
f012a13809 Bump rails 2017-09-28 03:15:29 +02:00
Benjamin Neff
c7a3d85c83 Set TargetRubyVersion in .rubocop.yml [ci skip]
closes #7621
2017-09-28 03:14:31 +02:00
Benjamin Neff
d3d66f30c3 Bump ruby versions on travis
closes #7616
2017-09-28 03:13:07 +02:00
Benjamin Neff
760b928902 Merge branch 'next-minor' into develop 2017-09-26 04:07:43 +02:00
cmrd Senya
c6ed850a85 Memory usage optimization for archive export
- Removed posts and non contacts from other's data
- Collections are exported in batches to lower memory footprint
- In base exporters create User object instead of keeping instance because it caches all associations

closes #7627
2017-09-26 04:07:18 +02:00
cmrd Senya
ea57fc5d25 Fix mistyped remote person in dispatcher spec 2017-09-26 04:06:43 +02:00
cmrd Senya
9f0b74ebbb Memory usage test for archive export
It is not included into the main test suite, because it has :performance tag.

One can run this test using command:
$ bin/rspec --tag performance spec/integration/export/memory_usage_spec.rb

This test creates additional fixtures set to speed up repeated runs.
2017-09-26 04:06:43 +02:00
cmrd Senya
265a7ee253 Don't force fixtures rebuild on each rspec run
Main purpose of fixtures for us is to speed up test runs. Rebuilding
fixtures each run makes them pointless. They will be rebuilt automatically
if some of "files_to_check" are changed, so we're protected from the case
when fixtures are outdated and don't load properly.
2017-09-26 04:06:43 +02:00
cmrd Senya
9ee9dbe969 Fix local migration run without old private key
It was possible to run migration locally without providing old private
key. This way migration was performed but not dispatched, which obviously
leads to desynchronization of the federation state so let's validate sender
before performing any actual actions.

closes #7558
2017-09-26 04:06:16 +02:00
Benjamin Neff
d410b62323 Merge branch 'next-minor' into develop 2017-09-19 20:28:36 +02:00
Benjamin Neff
c8340f7d28 Merge branch 'master' into next-minor 2017-09-19 20:26:57 +02:00
Benjamin Neff
508e44e01b Merge branch 'hotfix/0.7.0.1' 2017-09-19 20:24:37 +02:00
Benjamin Neff
13d6c23713 Bump nokogiri for a security release 2017-09-19 20:20:57 +02:00
Benjamin Neff
9f18d5ba82 Merge branch 'next-minor' into develop 2017-09-18 03:25:02 +02:00
Benjamin Neff
655fe2a912 Cleanup invalid polls without status message
closes #7614
2017-09-18 03:24:52 +02:00
Benjamin Neff
00296ffda5 Cleanup invalid likes without target 2017-09-18 03:23:01 +02:00
Benjamin Neff
028199a6f3 Remove "string" column from "ppid" table
This was added by accident in 4e18f3849d.

closes #7598
2017-09-18 03:21:41 +02:00
Benjamin Neff
26a9e50ef9 Merge branch 'next-minor' into develop 2017-09-17 19:36:00 +02:00
Benjamin Neff
4c967903fe Remove rails_admin_histories table
This was a leftover from rails_admin which was removed in #7440.

closes #7597
2017-09-17 19:35:50 +02:00
Benjamin Neff
1d2394571c Remove unused scripts
They were added a long time ago and they talk about rails 3 ... we have
rails 5 now and scripts in the bin folder, so I think we can remove
them.

closes #7596
2017-09-17 19:34:05 +02:00
Benjamin Neff
84d553555e Remove unneeded .freeze
closes #7595
2017-09-17 19:32:45 +02:00
Benjamin Neff
f7cbb20e11 Fix AppConfig.version_string with frozen strings 2017-09-17 19:29:16 +02:00
Benjamin Neff
9556790480 Fix Person.find_by_substring with frozen strings 2017-09-17 19:29:16 +02:00
Benjamin Neff
723be461cf Fix Services::Tumblr#tumblr_template with frozen strings 2017-09-17 19:29:16 +02:00
Benjamin Neff
1b30508c19 Fix ConversationsHelper#conversation_class with frozen strings 2017-09-17 19:29:16 +02:00
Benjamin Neff
79c2db65d7 Fix Diaspora::Camo.from_markdown with frozen strings 2017-09-17 19:29:16 +02:00
Benjamin Neff
f2ab09db17 Fix NotificationMailers::Base#log_mail with frozen strings 2017-09-17 19:29:16 +02:00
Benjamin Neff
9505eabcb3 Fix ApplicationHelper#changelog_url with frozen strings 2017-09-17 19:29:16 +02:00
Benjamin Neff
a6b6251b53 Fix PeopleHelper#person_link and #person_image_link with frozen strings 2017-09-17 19:29:16 +02:00
Benjamin Neff
e82690963d Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
Benjamin Neff
44ebc7375a Remove unused spec-doc.rb
closes #7594
2017-09-17 19:27:47 +02:00
Steffen van Bergerem
c9ba7f697b Merge branch 'next-minor' into develop 2017-09-04 02:49:22 +02:00
Benjamin Neff
45e714776e Don't truncate ar_internal_metadata after cucumber scenarios
This is an internal active record table and shouldn't be touched. When
this is truncated you need to fix it again by running
`bin/rails db:environment:set RAILS_ENV=test`

This is a temporary fix until there is a new version of
database_cleaner.

closes #7606
2017-09-04 02:49:07 +02:00
Benjamin Neff
c1022ef8ad Merge branch 'next-minor' into develop 2017-09-03 23:53:33 +02:00
Steffen van Bergerem
460178ad34 Fix the screenshot tool
closes #7605
2017-09-03 23:53:26 +02:00
Benjamin Neff
94e904464f Merge branch 'next-minor' into develop 2017-08-31 02:45:22 +02:00
Steffen van Bergerem
ddaa6df0b4 Replace photo_attachments with photo-attachments
closes #7601
2017-08-31 02:45:02 +02:00
Steffen van Bergerem
b77ecd482a Replace aspect_membership_dropdown with aspect-membership-dropdown 2017-08-31 02:44:54 +02:00
Steffen van Bergerem
473cc2518b Replace comment_box with comment-box 2017-08-31 02:44:53 +02:00
Steffen van Bergerem
7457f254c1 Replace last_author with last-author 2017-08-31 02:44:53 +02:00
Steffen van Bergerem
9fa032e4c9 Replace people_stream with people-stream 2017-08-31 02:44:53 +02:00
Steffen van Bergerem
7729635485 Replace publisher_textarea_wrapper with publisher-textarea-wrapper 2017-08-31 02:44:53 +02:00
Steffen van Bergerem
caeaf23d4b Replace aspect_dropdown with aspect-dropdown 2017-08-31 02:44:53 +02:00
Steffen van Bergerem
3df4749733 Replace stream_container with stream-container 2017-08-31 02:44:53 +02:00
Steffen van Bergerem
b4e3f84607 Replace main_stream with main-stream 2017-08-31 02:44:47 +02:00
Steffen van Bergerem
f9029dbdaf Merge branch 'next-minor' into develop 2017-08-29 12:55:17 +02:00
Benjamin Neff
e31c5ff4dc Handle unauthenticated users for likes/comments of private posts
closes #7583
2017-08-29 12:55:03 +02:00
Benjamin Neff
350e24863f Allow to load likes and reshares without login 2017-08-29 12:35:48 +02:00
Benjamin Neff
295bb15f73 Merge branch 'next-minor' into develop 2017-08-29 02:17:47 +02:00
Steffen van Bergerem
d130697ce2 Use Bootstrap 3 progress-bar for polls
closes #7600
2017-08-29 02:17:32 +02:00
Steffen van Bergerem
02d9d350d9 Move person extension for prefills to conversations form view
closes #7599
2017-08-29 02:13:57 +02:00
Steffen van Bergerem
48630b3a04 Fix conversation recipient prefill on contacts page
Use the already available contacts data for the prefill
2017-08-29 02:13:27 +02:00
Steffen van Bergerem
666ada44f1 Fix conversation recipient prefill on profile page
Fixes #7586

Use the already available data about the recipient for the prefill
2017-08-29 02:13:27 +02:00
Steffen van Bergerem
9d2763089d Replace where...first with find_by
Fixes #7539

closes #7593
2017-08-29 02:11:17 +02:00
flaburgan
a358bf7b66 Move the notification to be the first icon on the left
closes #7592
2017-08-29 02:09:51 +02:00
Steffen van Bergerem
98cccda6ea Remove auto detection of languages with highlightjs
Fixes #7476

closes #7591
2017-08-29 02:07:57 +02:00
Steffen van Bergerem
2bb7d4e067 Use language- prefix for codeblocks as defined in the CommonMark spec 2017-08-29 02:07:10 +02:00
Benjamin Neff
04035c3eb7 Allow to receive reshares without root
closes #7590
2017-08-29 02:06:08 +02:00
Benjamin Neff
163ffdb19b Allow multiple reshares without root
Follow-up for #7578

Fixes #7587
2017-08-29 02:05:43 +02:00
Steffen van Bergerem
cd09c75c50 Prevent users from zooming in IE Mobile
Fixes #7499

According to https://msdn.microsoft.com/en-us/library/dn629259(v=vs.85).aspx,
“the minimum-scale, maximum-scale, and initial-scale properties are currently
unsupported for Internet Explorer for Windows Phone“.

For further information on the viewport properties see
https://drafts.csswg.org/css-device-adapt/#viewport-meta

closes #7589
2017-08-29 02:04:00 +02:00
Benjamin Neff
6d7ba96c4f Remove locals option from render_template assertion
The locals option is only supported in ActionView::TestCase, so it is
ignored anyway (even worse, it disabled the complete assertion). I added
some more assertions to ensure the template is rendered with the correct
conversation.

closes #7588
2017-08-29 02:02:03 +02:00
Benjamin Neff
634c13f967 Remove wrong format: :json from status_messages_controller_spec
This was added by accident with the rails5 upgrade
2017-08-29 02:01:43 +02:00
goobertron
e7cac2e466 Replace <b> with <strong> in translations
closes #7585
2017-08-29 02:00:34 +02:00
goobertron
51152e140d Add ignore feature to help section
Fixes #7572
2017-08-29 01:59:51 +02:00
Benjamin Neff
e36b59309f Remove xml format from posts controller
closes #7584
2017-08-29 01:59:04 +02:00
Benjamin Neff
e7a1fe6e78 Merge branch 'next-minor' into develop 2017-08-26 03:16:23 +02:00
Rete2
b556ad5211 show users vote in poll
closes #7550
2017-08-26 03:16:05 +02:00
Benjamin Neff
e08440d7ba Merge migrations from before 0.6.0.0 to 0000_create_schema.rb
closes #7580
2017-08-26 03:13:05 +02:00
Benjamin Neff
b040f85790 Remove root_guid from reshares when post is deleted
And cleanup old reshares with deleted root posts

closes #7578
2017-08-26 03:08:37 +02:00
Manuel Vögele
0f771dbb10 Remove tiff support from photos
closes #7576
2017-08-26 03:02:51 +02:00
Steffen van Bergerem
ce40ec128f Fix mixed username and timestamp with LTR/RTL scripts
Fixes #7424

closes #7575
2017-08-26 02:59:24 +02:00
Steffen van Bergerem
c91c19b633 Order notifications by updated_at instead of created_at
closes #7568
2017-08-26 02:57:16 +02:00
Benjamin Neff
5ea7b8ee13 Set fog_provider and load carrierwave/storage/fog if S3 is enabled
Fixes #7563

closes #7566
2017-08-26 02:50:18 +02:00
Frédéric Bolvin
398235ee6f use asset manifest instead of entries in config.assets.precompile
closes #7565
2017-08-26 02:44:41 +02:00
Steffen van Bergerem
95ac7d0123 Merge branch 'next-minor' into develop 2017-08-25 01:51:47 +02:00
Deus Figendi
e547a89246 fixes #7573 long poll answers
closes #7579
2017-08-25 01:51:31 +02:00
Steffen van Bergerem
974fbd4d03 Merge branch 'next-minor' into develop 2017-08-24 14:57:59 +02:00
Benjamin Neff
9240605ad5 Remove internet explorer version check
This was in all stack traces, which confused people ...

We currently only support IE11, so the version check was already old
again ...

When we break old browser versions, we don't check that for other
browsers. So older IE browser just break, like very other older browser
too.

closes #7557
2017-08-24 14:57:43 +02:00
Benjamin Neff
8f0c74f72e Remove old_browser_js_support
This was needed for IE8 and IE9
2017-08-24 14:56:37 +02:00
Benjamin Neff
b8149a1fa1 Remove ie.js
Was needed for IE8
2017-08-24 14:56:37 +02:00
Steffen van Bergerem
2ffdbc4b05 Merge branch 'next-minor' into develop 2017-08-23 21:55:59 +02:00
Benjamin Neff
494518def1 Remove old message parameter from invite mail
closes #7571
2017-08-23 21:55:43 +02:00
Steffen van Bergerem
e39df04dc4 Merge branch 'next-minor' into develop 2017-08-23 21:50:41 +02:00
Benjamin Neff
b530ed0be0 Switch back to mobile-fu
closes #7570
2017-08-23 21:50:29 +02:00
Benjamin Neff
697d626269 Merge branch 'next-minor' into develop 2017-08-19 22:41:27 +02:00
Benjamin Neff
2f3ea8c397 Merge branch 'master' into next-minor 2017-08-19 22:41:02 +02:00
Benjamin Neff
7153df5c86 Merge branch 'release/0.7.0.0' 2017-08-19 22:38:38 +02:00
Benjamin Neff
f5fc142f63 Merge branch 'next-minor' into develop 2017-08-19 18:26:14 +02:00
Benjamin Neff
1c753204bc Merge branch 'release/0.7.0.0' into next-minor 2017-08-19 18:24:43 +02:00
Benjamin Neff
bf47e1bc93 Make sc avaliable
Also add "it" as fallback for "oc" and "sc"
2017-08-19 18:23:38 +02:00
Benjamin Neff
3b9848802e updated 53 locale files [ci skip] 2017-08-19 18:05:00 +02:00
Benjamin Neff
8d5d09521a Merge branch 'next-minor' into develop 2017-08-19 15:04:14 +02:00
Benjamin Neff
278298e21d Merge branch 'release/0.7.0.0' into next-minor 2017-08-19 15:04:09 +02:00
Benjamin Neff
4ef0c19ce3 Change order of fields in fill_in_new_user_form
The user_email is the first field anyway, and login form as a
user_username field too, so it maybe happens that we already fill in the
user_username filed there before page load finished.

closes #7556
2017-08-19 15:04:04 +02:00
Steffen van Bergerem
680894d121 Merge branch 'next-minor' into develop 2017-08-19 12:39:42 +02:00
Batyr Nuryyev
951a258a3d no title upon hover on button
closes #7551
2017-08-19 12:39:35 +02:00
Steffen van Bergerem
9ffbf2f788 Merge branch 'next-minor' into develop 2017-08-19 12:31:31 +02:00
ivan sebastian
3016280ef1 add jquery are you sure to comment form
closes #7530
2017-08-19 12:31:24 +02:00
Benjamin Neff
eb70d24dfa Merge branch 'next-minor' into develop 2017-08-19 07:39:59 +02:00
Benjamin Neff
7e0cbff4fa Merge branch 'release/0.7.0.0' into next-minor 2017-08-19 07:39:55 +02:00
Benjamin Neff
50dd7b03d7 Wait for ajax request before checking contacts
closes #7554
2017-08-19 07:39:27 +02:00
Benjamin Neff
0ae9dbf77f Merge branch 'next-minor' into develop 2017-08-17 11:42:15 +02:00
Benjamin Neff
a01cc4dfcb Merge branch 'release/0.7.0.0' into next-minor 2017-08-17 11:42:11 +02:00
Benjamin Neff
aa8d46da0c Wait for post to be deleted before continuing
closes #7548
2017-08-17 11:42:04 +02:00
Steffen van Bergerem
fdff13e542 Enable tooltips for comment timeagos
closes #7547
2017-08-17 11:40:56 +02:00
Steffen van Bergerem
6ae2df2f9e Fix missing timeagos for comments in the single post view 2017-08-17 11:40:49 +02:00
Benjamin Neff
6569bbaf1f Merge branch 'next-minor' into develop 2017-08-17 03:36:46 +02:00
Benjamin Neff
685135474b Merge branch 'release/0.7.0.0' into next-minor 2017-08-17 03:36:38 +02:00
Benjamin Neff
17949ffb4e Match parameter with match_array to fix order mismatch
closes #7546
2017-08-17 03:27:46 +02:00
Steffen van Bergerem
4cb365a6f4 Fix missing photos in the single post view
closes #7545
2017-08-17 03:25:31 +02:00
Benjamin Neff
3b6a98b7b4 Merge branch 'next-minor' into develop 2017-08-17 00:51:22 +02:00
Steffen van Bergerem
ff9591aee0 Use gender-neutral forms in comments and specs
closes #7544
2017-08-17 00:50:55 +02:00
Dennis Schubert
19a967328d Merge pull request #7544 from svbergerem/gender-neutral-comments-specs
Use gender-neutral forms in comments and specs
2017-08-16 23:56:34 +02:00
Steffen van Bergerem
68145723bb Use gender-neutral forms in comments and specs 2017-08-16 23:23:34 +02:00
Benjamin Neff
db14b58eeb Merge branch 'next-minor' into develop 2017-08-16 20:42:30 +02:00
Benjamin Neff
f295da1613 Merge branch 'release/0.7.0.0' into next-minor 2017-08-16 20:42:22 +02:00
Benjamin Neff
b49b33675f Wait for stream to load and deselect each aspect individually
closes #7543
2017-08-16 20:41:13 +02:00
Benjamin Neff
cdc3084990 Wait for stream to load for invitation test 2017-08-16 20:41:05 +02:00
Benjamin Neff
2d06b2865f Handle when the block to delete doesn't exist
closes #7542
2017-08-16 20:40:11 +02:00
Benjamin Neff
a4d1ad160c Fix stop ignoring from privacy settings and on mobile
Fixes #7541
2017-08-16 20:39:58 +02:00
Benjamin Neff
11372035b8 Start 0.8.0.0 cycle 2017-08-15 01:49:51 +02:00
Benjamin Neff
0c1dd195da Start 0.7.1.0 cycle 2017-08-15 01:45:45 +02:00
Benjamin Neff
ecd4601bac Remove 0.6.8.0 from Changelog 2017-08-15 01:40:01 +02:00
Benjamin Neff
cbc3900d59 Merge pull request #6750 from cmrd-senya/account_migration_message
Account migration model/message
2017-08-15 01:13:43 +02:00
Benjamin Neff
d6225daaf3 Merge pull request #7534 from oneturkmen/enable-mobile-web-app-capable-meta
added tag for supporting apps prior to Chrome M39
2017-08-15 00:56:43 +02:00
cmrd Senya
45619cb153 Account migration model and message support
This commit introduces support for AccountMigration federation message
receive. It covers the cases when the new home pod for a user is remote
respective to the recepient pod of the message. It also allows to initiate
migration locally by a podmin from the rails console. This will give the
pods a possibility to understand the account migration event on the
federation level and thus future version which will implement migration
will be backward compatible with the pods starting from this commit.
2017-08-15 01:32:34 +03:00
cmrd Senya
e2979df65a Add explicit mutual contact to test data
Add explicit mutual contact creation to the DataGenerator#generic_user_data
which is used in account deletion tests.
2017-08-14 19:15:54 +03:00
Batyr Nuryyev
70dfcd97c5 added tag for supporting apps prior to Chrome M39
updates tag to follow standard styleguide
2017-08-14 16:25:42 +03:00
cmrd Senya
8f46073809 Stop disabling Send workers for each example 2017-08-14 13:54:38 +03:00
Benjamin Neff
b447eb6e95 Merge pull request #7538 from SuperTux88/fix-account_deleter
Re-add disconnect_contacts in AccountDeleter
2017-08-14 10:28:57 +02:00
Benjamin Neff
a61d5739d4 Re-add disconnect_contacts in AccountDeleter 2017-08-14 04:52:00 +02:00
Benjamin Neff
064b409390 Merge pull request #7537 from SuperTux88/update-gems
Update thor, coveralls and simplecov
2017-08-14 04:08:19 +02:00
Benjamin Neff
1bd630d8a1 Merge pull request #7536 from SuperTux88/refactor-publisher-preview
Remove avatar, name, timestamp and interactions from publisher preview
2017-08-14 04:07:56 +02:00
Benjamin Neff
7a21c227f7 Merge pull request #7535 from SuperTux88/unstuck-export
Reset stuck exports and handle errors
2017-08-14 04:05:25 +02:00
Benjamin Neff
47574bc324 Bump coveralls and simplecov 2017-08-14 03:15:21 +02:00
Benjamin Neff
907e221f24 Unlock thor again
It looks like all commands we use in production fixed the warnings
(rails 5.1), so we can update that again.
2017-08-14 03:04:05 +02:00
Benjamin Neff
dd6cbbbb8e Remove avatar, name, timestamp and interactions from publisher preview
This doesn't add any value in the post preview:
* Avatar is already at the left-hand side of the publisher
* Timestamp is always "less than a minute ago"
* Interactions are disabled in the preview anyway

We don't display these things in the comment preview either, they only
need space and don't add any value to the preview.
2017-08-14 02:21:28 +02:00
Benjamin Neff
1db6381308 Reset stuck exports 2017-08-14 00:36:52 +02:00
Benjamin Neff
172f80bcae Handle unexpected errors while exporting userdata or photos
Otherwise the export stays soft-locked and the podmin needs to reset it
manually.

Fixes #6225
2017-08-14 00:36:52 +02:00
Benjamin Neff
9adcca2679 Merge pull request #7533 from SuperTux88/add-indexes
Add missing indexes from #7234
2017-08-13 20:57:39 +02:00
Benjamin Neff
cc8fa3e5cd Merge pull request #7532 from svbergerem/update-gems
Update gems
2017-08-13 20:37:52 +02:00
Benjamin Neff
dbde75abcf Add missing unique indexes from #7234 2017-08-13 20:10:07 +02:00
Benjamin Neff
1d5460cd64 Cleanup invalid aspects and set unique index 2017-08-13 20:10:07 +02:00
Benjamin Neff
0577bf8058 Add missing indexes
See #7234
2017-08-13 20:10:07 +02:00
Benjamin Neff
7ffd7878d0 Use person for AccountDeleter
Also remove `disconnect_contacts` methods, because contacts are already
removed with aspects memberships in `before_destroy`.
2017-08-13 20:10:07 +02:00
Benjamin Neff
245ad9e04d Remove diaspora_handle from AccountDeletions and add unique index 2017-08-13 19:43:04 +02:00
Benjamin Neff
fa0b78f5a2 Merge pull request #7531 from svbergerem/comment-preview-mentions
Render mentions in comment previews correctly
2017-08-13 15:04:58 +02:00
Steffen van Bergerem
3c59bcc4cd Bump raindrops 2017-08-13 14:56:25 +02:00
Steffen van Bergerem
b3a3adcd72 Bump rails-assets-jasmine 2017-08-13 14:40:49 +02:00
Steffen van Bergerem
d09bedf597 Bump jsonpath 2017-08-13 14:36:38 +02:00
Steffen van Bergerem
b1e885b0b3 Bump hitimes 2017-08-13 14:31:17 +02:00
Steffen van Bergerem
4979b8d95b Bump hashdiff 2017-08-13 14:29:45 +02:00
Steffen van Bergerem
322d112fe6 Bump haml 2017-08-13 14:28:35 +02:00
Steffen van Bergerem
2e2d3b5c7c Bump fog-core 2017-08-13 14:27:20 +02:00
Steffen van Bergerem
4e0f22ebb4 Bump excon 2017-08-13 14:25:37 +02:00
Steffen van Bergerem
d0a2fafeb7 Bump rspec-rails 2017-08-13 14:16:24 +02:00
Steffen van Bergerem
f1a7a3735c Bump poltergeist 2017-08-13 14:14:49 +02:00
Steffen van Bergerem
de4afb2d1f Bump jasmine 2017-08-13 14:12:03 +02:00
Steffen van Bergerem
c0713ddd8e Bump capybara 2017-08-13 14:08:10 +02:00
Steffen van Bergerem
2e25785f97 Bump versionist 2017-08-13 14:04:46 +02:00
Steffen van Bergerem
6df48b50c3 Bump openid_connect 2017-08-13 14:03:06 +02:00
Steffen van Bergerem
2d28ce3abf Bump mysql2 2017-08-13 14:00:51 +02:00
Steffen van Bergerem
7a3f6cec4e Bump autoprefixer-rails 2017-08-13 13:58:35 +02:00
Steffen van Bergerem
60d2db2732 Bump acts_as_api 2017-08-13 13:56:43 +02:00
Steffen van Bergerem
54d70a87ed Render mentions in comment previews correctly 2017-08-13 13:50:02 +02:00
Benjamin Neff
4b1c5685a9 Merge pull request #7529 from SuperTux88/actionview-loglevel
Disable rendering logging in production
2017-08-13 13:12:14 +02:00
Benjamin Neff
5f3a62fc43 Disable rendering logging in production 2017-08-13 05:23:57 +02:00
Benjamin Neff
138b706259 Merge pull request #7528 from Flaburgan/update-help
Update help
2017-08-13 04:56:03 +02:00
flaburgan
d14908ed0d Sharing and tags 2017-08-13 04:53:53 +02:00
flaburgan
770e7ddc2b Public post 2017-08-13 04:53:53 +02:00
flaburgan
21cdc6041d Private profile 2017-08-13 04:53:53 +02:00
flaburgan
0671a3a60c Insert an image 2017-08-13 04:53:52 +02:00
flaburgan
b968732941 Make pronto happy (double quote, spacing...) 2017-08-13 04:53:52 +02:00
flaburgan
8158a3a3b5 Markdown indications 2017-08-13 04:53:52 +02:00
flaburgan
1e591b041f Report only spam or illegal content 2017-08-13 04:53:51 +02:00
flaburgan
8b63eabcbe Search approximation 2017-08-13 04:53:51 +02:00
flaburgan
a14a0e34c6 Mention in comments 2017-08-13 04:53:51 +02:00
flaburgan
bd7f50f9b6 'Make contacts in this aspect visible to each other' is a local feature 2017-08-13 04:53:50 +02:00
flaburgan
c494640a51 Update the migration section 2017-08-13 04:53:50 +02:00
flaburgan
330e0f1fa1 Add link to discourse 2017-08-13 04:53:47 +02:00
Benjamin Neff
ce5e42c471 Merge pull request #7182 from svbergerem/spv-load-initial-interactions
Single post view interaction refactorings
2017-08-12 19:16:00 +02:00
Steffen van Bergerem
04735ce9b0 Remove unused interactions method in post controller 2017-08-12 18:09:14 +02:00
Steffen van Bergerem
ad53a43f88 Remove unused post interactions parse method 2017-08-12 18:09:14 +02:00
Steffen van Bergerem
55349162bd Fix comment highlightning in the SPV 2017-08-12 18:09:14 +02:00
Steffen van Bergerem
5808b84e83 Only include at most 30 likes and reshares on pageload in the SPV 2017-08-12 18:09:14 +02:00
Steffen van Bergerem
6b162110ce Add 'show all' links to the SPV to fetch missing likes and reshares 2017-08-12 18:09:13 +02:00
Steffen van Bergerem
6bab65e603 Stop underlining interaction avatars on hover or on focus 2017-08-12 18:09:13 +02:00
Steffen van Bergerem
7bd6825c2a Fix timeago in the single post view 2017-08-12 18:09:13 +02:00
Steffen van Bergerem
0bfc2fdd77 Load likes and reshares in the SPV via gon 2017-08-12 18:09:13 +02:00
Steffen van Bergerem
05d19e69ee Move ExtremePostPresenter methods into PostPresenter, add #with_initial_interactions method 2017-08-12 18:09:12 +02:00
Benjamin Neff
339dd27651 Merge pull request #7526 from SuperTux88/rails5-eager_load_paths
Use config.eager_load_paths instead of config.autoload_once_paths
2017-08-12 17:49:03 +02:00
Benjamin Neff
04c3880d79 Use config.eager_load_paths in production
See http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#autoloading-is-disabled-after-booting-in-the-production-environment
2017-08-12 17:04:00 +02:00
Benjamin Neff
5905645d0f Fix mobile_fu
Since the gem was renamed, we need to require it manually...
2017-08-12 15:47:05 +02:00
Benjamin Neff
dc92633dab Merge pull request #7514 from SuperTux88/rails5
Upgrade to rails 5.1
2017-08-12 15:43:15 +02:00
Benjamin Neff
6b2c010ecc Wait for like to finish 2017-08-12 15:39:28 +02:00
Benjamin Neff
c2526c6111 Don't wait for .loading class, it's sometimes already removed again 2017-08-12 15:39:27 +02:00
Benjamin Neff
62cb1f99ce Get current time before the test to be safer on MySQL 2017-08-12 15:39:27 +02:00
Benjamin Neff
605e292589 Wait for image to be uploaded 2017-08-12 15:39:27 +02:00
Benjamin Neff
6b8c2ebe9f Fix rubocop cop namespace for ExtraSpacing 2017-08-12 15:39:27 +02:00
Benjamin Neff
ec680962ee Convert CreateSchema migration to real migration with up method
Otherwise Rails 5 would ignore the migration version and create the
tables with bitints as IDs on MySQL.
2017-08-12 15:39:27 +02:00
Dennis Schubert
50f1fd304f Remove UTF8 to UTF8mb4 migration
we released that in 0.5.0.0 in 2015, we do not support skipping majors
anyway, and this is broken in Rails 5, so let's remove this. If people
upgrade from before 0.5.0.0, they have to upgrade via 0.6.0.0, but
that's written in the documenation.
2017-08-12 15:39:27 +02:00
Dennis Schubert
5b1be7d8da Remove the schema.rb from this repo
Although this is contrary to rails best-practises, we cannot provide a schema.rb that works for both MySQL and PostgreSQL, so we have no choice. Our migrations are maintained, so it should always be possible to get back to a "clean" database schema anyway.
2017-08-12 15:39:26 +02:00
Dennis Schubert
ef70549832 Replace usages of the deprecated delete_all with conditions 2017-08-12 15:39:26 +02:00
Dennis Schubert
b614237504 Make all current migrations Rails 4.2 based 2017-08-12 15:39:26 +02:00
Dennis Schubert
1f272f5306 Do not touch the schema_migrations table in migrations
... this breaks the Rails 5 upgrade, and it's actually no longer needed.
New installations will have the right size anyway, and even if some
older installations miss the migration by not updating for 2 years, it
still doesn't matter since there is no risk that we will ever have
emojis in our migration filenames.
2017-08-12 15:39:26 +02:00
Benjamin Neff
b203862ca3 Workaround for bootstrap-sass
The change in assets.rb should be enough, but it doesn't work, because
sprockets `after_initialize` runs before it and initializes sprockets
with unfiltered paths.

But the trick with the underscore works, because bootstrap-sass has
named the file `_bootstrap.scss`, and rails-assets-bootstrap has
`bootstrap.scss`, so with `_bootstrap` it uses the correct bootstrap.
2017-08-12 15:39:26 +02:00
Benjamin Neff
b80d324504 Fix some failing cukes because they were too fast 2017-08-12 15:39:26 +02:00
Benjamin Neff
ff3bd1f59b Fix post service spec
* load records to array to check them
* test that only 15 people are returned
2017-08-12 15:39:25 +02:00
Benjamin Neff
33e3e3a14d Fix person spec, use first(15) instead of slice(0..14) 2017-08-12 15:39:25 +02:00
Benjamin Neff
f4136d4559 Fix post spec
* don't use `double` for queries
* use `second` instead of `at()`.
2017-08-12 15:39:25 +02:00
Benjamin Neff
29ab4d8242 Fix querying spec, remove (Post) 2017-08-12 15:39:25 +02:00
Benjamin Neff
63e342e6c4 Use aspect_ids for visible_shareables 2017-08-12 15:39:25 +02:00
Benjamin Neff
d62772f9c0 Replace Fixnum with Integer 2017-08-12 15:39:25 +02:00
Benjamin Neff
ca8974d4a0 Use ActionDispatch::TestRequest in NotificationSerializer spec 2017-08-12 15:39:24 +02:00
Benjamin Neff
b61536ff06 Remove unused formatted_birthday from profile model 2017-08-12 15:39:24 +02:00
Benjamin Neff
77951c4657 Fix user removal spec 2017-08-12 15:39:24 +02:00
Benjamin Neff
1adb4837ef Fix OpenID Connect TokenEndpoint when client id is not found 2017-08-12 15:39:24 +02:00
Benjamin Neff
385ab76077 Refactor OpenID specs to prevent duplicate client names 2017-08-12 15:39:24 +02:00
Benjamin Neff
27f3b68f54 Copy headers in OpenidConnect TokenEndpointController 2017-08-12 15:39:24 +02:00
Benjamin Neff
9626c77a1c Remove skip_fallback from post fetcher 2017-08-12 15:39:23 +02:00
Benjamin Neff
621fdda197 New syntax for request specs 2017-08-12 15:39:23 +02:00
Benjamin Neff
7c9590a27c Use .reload instead of (true) in specs
Or remove it where not needed
2017-08-12 15:39:23 +02:00
Benjamin Neff
2a6515fab9 Add params keyword to controller specs 2017-08-12 15:39:23 +02:00
Benjamin Neff
955ef43a0e Replace use_transactional_fixtures with use_transactional_tests 2017-08-12 15:39:23 +02:00
Benjamin Neff
5335ee86d6 Mobile fails now with ActionController::UnknownFormat 2017-08-12 15:39:22 +02:00
Benjamin Neff
4f5b1dd845 Fix creating share visibilities
Validation fails because there is no user set.
2017-08-12 15:39:22 +02:00
Benjamin Neff
d5f24021a7 Replace render text: ... with render plain: ... 2017-08-12 15:39:22 +02:00
Benjamin Neff
4bbc51bfb9 Remove return in scope block
Return in scope fails with `LocalJumpError: unexpected return`
2017-08-12 15:39:22 +02:00
Benjamin Neff
150fea6edb Replace render nothing: true with head 2017-08-12 15:39:22 +02:00
Benjamin Neff
80c241bc7a Replace redirect_to :back with redirect_back
Also remove some unused html responses
2017-08-12 15:39:22 +02:00
Benjamin Neff
b8ebb778bf Refactor federation mappings
The hashes don't work properly with rails 5, there are different classes
loaded when called from the rails engine with missing inheritance.

Also the hashes never worked well with spring.
2017-08-12 15:39:21 +02:00
Benjamin Neff
2b911b0131 Permit parameters before using them
ActionController::Parameters no longer inherits from HashWithIndifferentAccess
2017-08-12 15:39:21 +02:00
Benjamin Neff
8a5752dd6c Fix creating a post with poll
There were validation errors because `answer.poll` wasn't set.
2017-08-12 15:39:21 +02:00
Benjamin Neff
c382321934 Replace old ..._filter with new ..._action 2017-08-12 15:39:21 +02:00
Benjamin Neff
6e4c5bae29 Replace attribute_changed? with new methods 2017-08-12 15:39:21 +02:00
Benjamin Neff
e076910b74 Prepend protect_from_forgery because this defaults to false now 2017-08-12 15:39:21 +02:00
Benjamin Neff
b9d9a63739 Add rails-controller-testing dependency
Needed for `assigns` in controller specs
2017-08-12 15:39:20 +02:00
Benjamin Neff
ee9a299df6 Replace HashWithIndifferentAccess, it is now deprecated 2017-08-12 15:39:20 +02:00
Benjamin Neff
d0b634852b Fix belongs_to, it is now required by default 2017-08-12 15:39:20 +02:00
Benjamin Neff
eb19c327e2 Add ApplicationRecord 2017-08-12 15:39:20 +02:00
Benjamin Neff
fe57bd88e8 Add ApplicationMailer 2017-08-12 15:39:20 +02:00
Benjamin Neff
4a9548ec1b Use skip_pipeline: true for asset_url 2017-08-12 15:39:20 +02:00
Benjamin Neff
3d7061b240 Update configs for rails 5
Used `rails app:update`
2017-08-12 15:39:19 +02:00
Dennis Schubert
b711a8d4a1 Update binstubs 2017-08-12 15:39:19 +02:00
Dennis Schubert
45de17e1de Remove test_after_commit 2017-08-12 15:39:19 +02:00
Dennis Schubert
922c3ab81a Update gems 2017-08-12 15:39:19 +02:00
Steffen van Bergerem
7624854495 Merge pull request #7235 from AugierLe42e/md-editor-mobile-view
Markdown editor final chapter: add editor on publisher, comments and conversation of mobile view
2017-08-12 11:56:57 +02:00
Steffen van Bergerem
a6fb85d10f Merge pull request #7524 from ivantedja/7273-cmd-enter-submit
support cmd+enter for post submission
2017-08-12 11:55:23 +02:00
Steffen van Bergerem
f4cdec03c7 Remove obsolete conversation and new status message CSS 2017-08-12 11:02:47 +02:00
Steffen van Bergerem
d4ed3bce4d Remove unnecessary markdown editor CSS 2017-08-12 11:02:46 +02:00
Benjamin Neff
53f05eff5a Merge pull request #7525 from Flaburgan/hide-signin-on-signin-page
Hide 'Sign in' header link on the connection page
2017-08-12 03:40:31 +02:00
ivan sebastian
b154e9d7f9 support cmd+enter for post submission 2017-08-11 23:33:37 +07:00
flaburgan
2b90bb8562 Hide 'Sign in' header link on the connection page 2017-08-11 17:40:29 +02:00
Augier
008b899422 Markdown editor on publisher, conversations and mobile comments 2017-08-11 10:51:14 +02:00
Benjamin Neff
280a9e2023 Merge pull request #7523 from svbergerem/improve-adding-posts-to-stream
Improve adding posts to stream
2017-08-11 03:21:48 +02:00
Steffen van Bergerem
ba9a2cbeba Remove no posts info after rendering with available posts 2017-08-11 02:24:52 +02:00
Steffen van Bergerem
4c7948c7f7 Use id in stream comparator as fallback 2017-08-11 02:24:51 +02:00
Benjamin Neff
43bdebca74 Merge pull request #7522 from svbergerem/fix-autosize-comments-conversations
Call autosize when changing input via markdown editor
2017-08-10 22:31:12 +02:00
Steffen van Bergerem
757a5fbd10 Merge pull request #7509 from Flaburgan/responsive-header
Improve responsive header in desktop version
2017-08-10 18:48:37 +02:00
Steffen van Bergerem
39110c6b1b Use full width for notification dropdown on small devices 2017-08-10 17:51:01 +02:00
Steffen van Bergerem
8ce76882e3 Replace deprecated visible-* classes 2017-08-10 17:51:01 +02:00
Steffen van Bergerem
635a5c0564 Remove unused check for visible notification badge in notification dropdown view 2017-08-10 17:51:01 +02:00
Steffen van Bergerem
6995ca1fe3 Fix vertical alignment of search bar in the header 2017-08-10 17:51:01 +02:00
Steffen van Bergerem
9c40009ee1 Avoid using fixed vertical margins and paddings in the header 2017-08-10 17:51:01 +02:00
flaburgan
91e0e131a5 Improve colors management 2017-08-10 17:51:01 +02:00
flaburgan
047bb607f3 Do not hardcode image path 2017-08-10 17:51:01 +02:00
flaburgan
0798bfbc8c Refactor ids to classes, reorder css properties, css selectors depth 2017-08-10 17:51:01 +02:00
flaburgan
b995dfd179 Avoid search result dropdown to be hidden 2017-08-10 17:51:01 +02:00
flaburgan
99570c9c07 Responsive header for not connected pages too 2017-08-10 17:51:01 +02:00
flaburgan
569411acb8 Change global menu content on small screen 2017-08-10 17:51:01 +02:00
flaburgan
ae73294f41 Improved responsive header 2017-08-10 17:51:01 +02:00
Steffen van Bergerem
d4bdb2fcb4 Call autosize when changing input via markdown editor
Fixes #7521
2017-08-10 16:42:19 +02:00
Benjamin Neff
9d2d20e854 Merge pull request #6726 from cmrd-senya/archive-schema
Update the user data export archive format.
2017-08-10 10:54:02 +02:00
cmrd Senya
9bcdc90cfd Fix Person.in_aspects scope multiple return
Fix Person.in_aspects scope to return each person only once when the
person is in multiple aspects.
2017-08-10 09:36:34 +03:00
cmrd Senya
0a1b434607 Add a little cuke test for profile export
That should increase test coverage percentage
2017-08-10 09:36:31 +03:00
cmrd Senya
d8398caf2e Move misc_spec.rb to spec/spec
spec/spec is a new folder for "tests for tests"
2017-08-10 09:36:29 +03:00
cmrd Senya
7374661e2f Update the user data export archive format.
This commit introduces changes to the user data export archive format.
This extends data set which is included in the archive. This data can be
then imported to other pods when this feature is implemented.

Also the commit adds the archive format json schema. ATM it is used in
automatic tests only, but in future it will also be used to validate
incoming archives.
2017-08-10 09:36:26 +03:00
Benjamin Neff
eefa6701a8 Merge pull request #7520 from svbergerem/increase-mobile-post-action-size
Include count in mobile post action link and increase reshare counter after reshare
2017-08-10 01:30:39 +02:00
Benjamin Neff
05a4bf262a Merge pull request #7518 from svbergerem/fix-7245
Prevent publisher from closing in preview mode
2017-08-10 01:27:55 +02:00
Benjamin Neff
c06af05e19 Merge pull request #7516 from Flaburgan/back-to-top-position
Move back to top to the right to avoid misclicks
2017-08-10 01:26:28 +02:00
Benjamin Neff
3d8bda40e1 Merge pull request #7517 from svbergerem/update-markdown-it
Update markdown-it
2017-08-10 01:23:57 +02:00
Steffen van Bergerem
bc0088eb47 Increase mobile reshare counter after reshare 2017-08-10 01:16:53 +02:00
Steffen van Bergerem
18256f3709 Include count in mobile post action link (reshare, comment and like) 2017-08-10 01:16:53 +02:00
Steffen van Bergerem
dc828e0e5a Prevent publisher from closing in preview mode
Fixes #7245
2017-08-09 22:12:00 +02:00
Steffen van Bergerem
32233ccb99 Merge pull request #7482 from cmrd-senya/markdown-editor-conversations-comments
Add markdown editor on conversations and comments
2017-08-09 21:50:35 +02:00
cmrd Senya
621d269760 MD editor coversations&comments: refactorings
Javascript refactorings for better maintainability:
* simplePreview function to avoid code duplication
* Preloaded conversation is processed in a slightly different way
* Split isPreviewOrTexareaNotEmpty function since it has more than one responsibility
2017-08-09 21:49:25 +02:00
cmrd Senya
1b1db3bb0c Bump diaspora_federation 2017-08-09 21:43:42 +03:00
cmrd Senya
2c3f116326 Add new scopes for the Post model 2017-08-09 21:43:37 +03:00
cmrd Senya
c63493b0d1 New Exporter::NonContactAuthors class
This class is capable of quering a list of people from authors of given posts that are non-contacts of a given
user.
2017-08-09 21:43:31 +03:00
cmrd Senya
8f4498506d Fix autosize for the textarea in conversations
We need to reinit autosize when we navigate in conversations with the backbone router.
2017-08-09 20:35:23 +03:00
Augier
7b711254a5 Fix CSS and blur on commant submission 2017-08-09 20:35:23 +03:00
Augier
fd39a48bea Add markdown editor on conversations and comments 2017-08-09 20:35:23 +03:00
cmrd Senya
c985af1f85 New Exporter::OthersRelayables class
This class implements methods that allow to query relayables (comments, likes, participations,
poll_participations) of other people for posts of the given person.
2017-08-09 18:09:04 +03:00
cmrd Senya
fca6121c6a Exporter::PostsWithActivity class
This class allows to query posts where a person made any activity (submitted comments,
likes, participations or poll participations).
2017-08-09 18:09:04 +03:00
cmrd Senya
7db4f825a6 Refactor account deletion spec
This commit refactors account deletion spec by moving data creation to a helper
object DataGenerator.
2017-08-09 18:09:04 +03:00
Steffen van Bergerem
f2606386d3 Bump markdown-it 2017-08-09 13:36:28 +02:00
flaburgan
62fa43b222 Move back to top to the right to avoid misclicks 2017-08-08 13:01:58 +02:00
Benjamin Neff
f83fb6f4c3 Merge pull request #7484 from Flaburgan/7126-name-invitation-boy
Include first/last name in invitation emails body
2017-08-07 23:00:39 +02:00
flaburgan
1eea034844 Add a test 2017-08-07 20:21:51 +02:00
flaburgan
9a27983313 Refactor name condition to a cleaner code, delegate :full_name from profile to person to user 2017-08-07 19:08:17 +02:00
flaburgan
c2e0feb38b Include first/last name in invitation emails 2017-08-07 19:08:17 +02:00
Benjamin Neff
6ecf784d91 Merge pull request #7513 from SuperTux88/bump-acts-as-taggable-on
Bump acts-as-taggable-on
2017-08-04 03:10:12 +02:00
Benjamin Neff
9ca9d63285 Merge pull request #7511 from SuperTux88/sidekiq5
Upgrade sidekiq
2017-08-04 03:09:50 +02:00
Benjamin Neff
d0896c7823 Merge pull request #7512 from SuperTux88/well-known
Cleanup .gitignore and add note about .well-known to the changelog
2017-08-04 03:08:03 +02:00
Benjamin Neff
3961841506 Bump acts-as-taggable-on 2017-08-04 01:02:11 +02:00
Benjamin Neff
c6a0fbe8d4 Cleanup .gitignore and add note about .well-known to the changelog
[ci skip]
2017-08-04 00:54:51 +02:00
Benjamin Neff
31acb5348a Bump sidekiq 2017-08-03 03:14:30 +02:00
Benjamin Neff
61afb35803 Merge pull request #7510 from SuperTux88/fix-bookmarklet-for-sprockets-3
Fix bookmarklet for sprockets 3
2017-08-01 03:33:04 +02:00
Benjamin Neff
1007b3cdbd Use Rails.application.assets_manifest.assets instead of json file 2017-07-31 22:56:05 +02:00
Benjamin Neff
7f8108e4ac Precompile bookmarklet to use in production
`Rails.application.assets` is only available when `config.assets.compile`
is true (which is false in production). So the old way with a separate
rake task doesn't work in production. But we can get the filename of the
precompiled file from `Rails.application.assets_manifest.assets`.
2017-07-31 22:43:28 +02:00
Benjamin Neff
c42315f3ee Merge pull request #7507 from SuperTux88/sprockets-3
Upgrade sprockets
2017-07-31 21:43:43 +02:00
Benjamin Neff
20822d3333 Merge pull request #7508 from svbergerem/mobile-comment-link
Direct links to mobile comments
2017-07-31 03:23:13 +02:00
Steffen van Bergerem
cd0f8a6670 Remove unused data attribute from mobile comments 2017-07-30 12:20:44 +02:00
Steffen van Bergerem
8a3d33d707 Add guid as id attribute to mobile comments 2017-07-30 12:16:47 +02:00
Benjamin Neff
a797f2d27b Don't precompile all themes for tests
And sprockets 3 also caches files in tmp/cache/assets/sprockets
2017-07-30 05:57:19 +02:00
Benjamin Neff
7a26456875 Add checksums to assets in specs 2017-07-30 05:21:33 +02:00
Benjamin Neff
7ee8bfbac4 Precompile poltergeist_disable_transition.css for tests 2017-07-30 05:01:39 +02:00
Benjamin Neff
29a7f151b6 Use config.assets.quiet instead of quiet_assets gem
The quiet_assets gem doesn't support rails 5, but sprockets 3 now has a
config.assets.quiet option, which deprecates the quiet_assets gem. But
the logging gem has a no-op silence method, that's why the quiet option
doesn't work out-of-the-box. I added a little hack to use the silence
method from ActiveSupport, which is also used from the original rails
logger.
2017-07-30 04:47:16 +02:00
Benjamin Neff
1360dd4207 Fix require favico.js
See rails/sprockets#169
2017-07-30 04:47:16 +02:00
Benjamin Neff
91ec412f14 manifest-*.json is now called .sprockets-manifest-*.json 2017-07-30 04:47:16 +02:00
Benjamin Neff
5f5448f955 Bump sprockets-rails 2017-07-30 02:31:55 +02:00
Benjamin Neff
6b131409f9 Merge pull request #7505 from svbergerem/fix-presenter-spec-filename-typo
Fix filename typo for post interaction presenter spec
2017-07-26 13:16:43 +02:00
Steffen van Bergerem
308bb1f77a Fix filename typo for post interaction presenter spec 2017-07-26 12:01:38 +02:00
Benjamin Neff
e036ffccc9 Merge pull request #7504 from svbergerem/update-jasmine
Update jasmine
2017-07-25 22:47:05 +02:00
Benjamin Neff
7416cee0c9 Merge pull request #7477 from diaspora/add-contributing-file
Add a Contributing file
2017-07-25 22:43:12 +02:00
Steffen van Bergerem
adf35b4bf0 Bump jasmine 2017-07-25 16:25:44 +02:00
Benjamin Neff
7baa3c0e24 Merge pull request #7495 from codebearsteam/6559-ergonomy-suggestion
Issue #6559: Changed default mail FROM header and tests

fixes #6559
2017-07-25 01:13:32 +02:00
netagonen
ce90d6a020 Replace Diaspora* with pod_name in the FROM header
Add pod name to FROM: header for no sender case
2017-07-25 00:49:02 +02:00
Rete2
2be0644281 Issue #6559: Changed default mail FROM header and tests 2017-07-25 00:46:02 +02:00
Benjamin Neff
da904ac025 Merge pull request #7503 from SuperTux88/quickfix-multi-stream-ignore-users-with-tags
Exclude ignored people from followed tags when building stream-relation
2017-07-24 01:35:58 +02:00
Benjamin Neff
a4c26b7464 Exclude ignored people from followed tags when building stream-relation
This improves the main stream when you have less or inactive contacts
and ignored an active person that posts many posts with tags. When the
person is only removed after collecting all post ids, you don't see
posts with tags from other people.
2017-07-23 23:33:43 +02:00
Benjamin Neff
35e9faf5f2 Merge pull request #7502 from SuperTux88/cucumber-first-login-timeout
Cache assets-cache for cucumber on travis
2017-07-23 19:43:07 +02:00
Benjamin Neff
b0ac09a0a3 Cache assets-cache for cucumber on travis 2017-07-23 18:02:56 +02:00
Benjamin Neff
d8410e21b3 Merge pull request #7259 from Flaburgan/bump-ruby-2.4
Bump ruby to 2.4
2017-07-23 18:00:06 +02:00
Benjamin Neff
5d4d7ffa1e Merge pull request #7501 from SuperTux88/send-public-profile
Send public profiles publicly
2017-07-23 04:19:49 +02:00
Benjamin Neff
726e56ffb2 Install gems for production, to see when compatibility breaks 2017-07-23 02:42:01 +02:00
flaburgan
33fa2e8a9e Bump ruby to 2.4 2017-07-23 02:41:29 +02:00
Benjamin Neff
8942bb98c8 Send and receive public flag for profile 2017-07-23 02:36:29 +02:00
Benjamin Neff
f9476409c8 Send public profiles publicly
this will help big profiles, and the informations are public anyway, so no
need to encrypt them.

fixes #3164
2017-07-23 02:36:22 +02:00
Dennis Schubert
488860d2f0 Merge pull request #7500 from SuperTux88/update-gems
Update gems
2017-07-23 02:33:13 +02:00
Benjamin Neff
e94ec1e3c5 Use latest ruby-versions 2017-07-23 00:50:17 +02:00
Benjamin Neff
c0266969be Bump rails-assets-markdown-it 2017-07-23 00:31:05 +02:00
Benjamin Neff
b07114e40a Bump rails-assets-highlightjs 2017-07-23 00:31:05 +02:00
Benjamin Neff
c92b1ddcc6 Bump rails-assets-blueimp-gallery 2017-07-23 00:31:05 +02:00
Benjamin Neff
652f235ff0 Bump rails-assets-autosize 2017-07-23 00:31:05 +02:00
Benjamin Neff
7e9935c8b2 Replace jquery-ui-rails with rails-assets-jquery.ui 2017-07-23 00:31:05 +02:00
Benjamin Neff
03241c6480 Bump dependency gems 2017-07-23 00:31:05 +02:00
Benjamin Neff
a00defe0eb Bump cucumber-rails 2017-07-23 00:31:05 +02:00
Benjamin Neff
407c4f47d2 Bump rspec 2017-07-23 00:31:04 +02:00
Benjamin Neff
2a0cb17f48 Bump shoulda-matchers 2017-07-23 00:31:04 +02:00
Benjamin Neff
c44ca18e8f Bump webmock 2017-07-23 00:24:53 +02:00
Benjamin Neff
026fe3dc3d Bump timecop 2017-07-23 00:24:53 +02:00
Benjamin Neff
5bec57cfc9 Bump poltergeist 2017-07-23 00:24:52 +02:00
Benjamin Neff
bfdcb5481a Bump database_cleaner 2017-07-23 00:24:52 +02:00
Benjamin Neff
7759de8383 Bump capybara 2017-07-23 00:24:52 +02:00
Benjamin Neff
ccf938c95e Bump fixture_builder 2017-07-23 00:24:52 +02:00
Benjamin Neff
6f1571bc1b Bump spring 2017-07-23 00:24:52 +02:00
Benjamin Neff
7a0f0363e9 Bump haml_lint 2017-07-23 00:24:52 +02:00
Benjamin Neff
8c27418a55 Bump rubocop 2017-07-23 00:24:52 +02:00
Benjamin Neff
07c5dfe085 Bump pronto 2017-07-23 00:24:51 +02:00
Benjamin Neff
9031f4b772 Bump rb-inotify 2017-07-23 00:24:51 +02:00
Benjamin Neff
18f88ce252 Bump rb-fsevent 2017-07-23 00:24:51 +02:00
Benjamin Neff
f56d80f59d Bump guard-rubocop 2017-07-23 00:24:51 +02:00
Benjamin Neff
ac2265d4b4 Bump asset_sync 2017-07-23 00:24:51 +02:00
Benjamin Neff
fc45740dae Bump eye 2017-07-23 00:24:51 +02:00
Benjamin Neff
5866836557 Bump logging-rails 2017-07-23 00:24:50 +02:00
Benjamin Neff
3355f9ee16 Bump will_paginate 2017-07-23 00:24:50 +02:00
Benjamin Neff
b0d27b6907 Bump hamlit 2017-07-23 00:24:50 +02:00
Benjamin Neff
f7f4d50131 Bump addressable 2017-07-23 00:24:50 +02:00
Benjamin Neff
c81aadd574 Bump active_model_serializers 2017-07-23 00:24:44 +02:00
Benjamin Neff
9b70060f10 Bump openid_connect 2017-07-22 23:43:12 +02:00
Benjamin Neff
e773e45121 Bump omniauth 2017-07-22 23:43:12 +02:00
Benjamin Neff
8f3fccf0b2 Bump secure_headers 2017-07-22 23:43:12 +02:00
Benjamin Neff
ea73138eb8 Bump twitter-text 2017-07-22 23:43:12 +02:00
Benjamin Neff
d646563c7c Bump ruby-oembed 2017-07-22 23:43:12 +02:00
Benjamin Neff
d14d1616ff Bump nokogiri 2017-07-22 23:43:12 +02:00
Benjamin Neff
5c487a3a83 Bump leaflet-rails 2017-07-22 23:43:11 +02:00
Benjamin Neff
bde25ff6e4 Bump rails-i18n 2017-07-22 23:43:11 +02:00
Benjamin Neff
b43d9ce186 Bump http_accept_language 2017-07-22 23:43:11 +02:00
Benjamin Neff
e2072ded2c Bump jquery 2017-07-22 23:43:11 +02:00
Benjamin Neff
91ea6448fa Bump handlebars_assets 2017-07-22 23:43:11 +02:00
Benjamin Neff
047f333e88 Bump mini_magick 2017-07-22 23:43:11 +02:00
Benjamin Neff
31e85f32ac Bump carrierwave 2017-07-22 23:43:07 +02:00
Benjamin Neff
17b51beeda Bump fog-aws 2017-07-22 02:32:26 +02:00
Benjamin Neff
f0c3ae3782 Bump activerecord-import 2017-07-22 02:32:26 +02:00
Benjamin Neff
21c2864b39 Bump pg 2017-07-22 02:32:26 +02:00
Benjamin Neff
4074660a86 Bump mysql2 2017-07-22 02:32:25 +02:00
Benjamin Neff
6d9cfa961f Bump compass-rails
Add sprockets as fixed dependency, we don't want to upgrade this by
accident
2017-07-22 02:32:25 +02:00
Benjamin Neff
d33ac50060 Bump autoprefixer-rails 2017-07-22 02:32:25 +02:00
Benjamin Neff
c6be849998 Bump rack-cors 2017-07-22 02:32:25 +02:00
Benjamin Neff
ae8dd05f4f Bump uglifier 2017-07-22 02:32:25 +02:00
Benjamin Neff
512739916e Bump sidekiq-cron 2017-07-22 02:32:25 +02:00
Benjamin Neff
a89ad99617 Bump sidekiq 2017-07-22 02:32:24 +02:00
Benjamin Neff
816fa55862 Bump devise 2017-07-22 02:32:24 +02:00
Benjamin Neff
14712df69c Bump json 2017-07-22 02:32:24 +02:00
Benjamin Neff
d9b3489846 Bump responders 2017-07-22 02:32:24 +02:00
Benjamin Neff
99474d8cfa Bump unicorn 2017-07-22 02:32:24 +02:00
Benjamin Neff
126062d721 Bump rails 2017-07-22 02:32:24 +02:00
Benjamin Neff
871b8fbb01 Merge pull request #7497 from UpshiftNetwork/fix-signs-up-feature-tests
Fix: Failing 'Signs Up'-Feature Tests
2017-07-19 00:06:34 +02:00
Finn Woelm
070ef782e6 Fix: Failing 'Signs Up'-Feature Tests
Up to now, scripts were loaded prior to the stylesheet in <head>. When
scripts are loaded before stylesheets, it is possible that scripts
execute on the DOM elements before styles are fully loaded. This can
yield unexpected results.

In the case of the features/desktop/signs_up.feature tests, it would
happen every so often that the scripts ran before styles were loaded.
For example, the app.views.Publisher class (responsible for actions
related to creating a new post) relies on the poll element being either
hidden (or poll options being defined). As per stylesheet, the poll is
hidden by default. But when the scripts run before the stylesheet has
loaded, the poll appears visible to the script and post submission is
disabled.

This is fixed by loading stylesheets prior to scripts. See SO for more
info: https://stackoverflow.com/a/1324720/6451879
2017-07-18 18:38:36 +07:00
Benjamin Neff
21263edbdf Merge pull request #7491 from UpshiftNetwork/fix-failing-mention-features
Fix: Use Capybara#fill_in for appending to publisher
2017-07-14 13:23:47 +02:00
Finn Woelm
14b7c10567 Fix: Use Capybara#fill_in for appending to publisher
Capybara's native#send_key function is slow when it is passed a string
longer than just a few characters. This often results in timeout issues
and Capybara (falsely) reporting feature as failing.

To fix this, we use the faster function #fill_in. This does not trigger
JavaScript events on the input, so we manually trigger them after
fill_in by just sending a single key. This can be any key but since we
do not want to modify the text in the input, non-text keys should be
used. For a list of non-text keys, see
http://www.rubydoc.info/github/jnicklas/capybara/Capybara%2FNode%2FElement%3Asend_keys

There is an alternative to the above:
1) Use #fill_in to enter all text except for the last character:
    fill_in ..., with: "#{status_message_text} #{txt[0..-2]}"
2) And then use #send_key to send that last character:
    find("#status_message_text").native.send_key(txt.last)

At the moment, both approaches work equally well but the second approach
is documented here just in case it becomes relevant in the future.
2017-07-14 12:33:30 +07:00
Benjamin Neff
5d2ddfede1 Update changelog [ci skip] 2017-07-14 02:34:53 +02:00
Benjamin Neff
01ca08b86f Merge pull request #7436 from SuperTux88/federation-update
Federation gem update
2017-07-14 01:31:32 +02:00
Benjamin Neff
8b7a592112 Merge pull request #7488 from UpshiftNetwork/fix-assets-check-2
Fix: Check for asset precompilation when starting server
2017-07-14 00:11:11 +02:00
Finn Woelm
78986e6419 Fix: Check for asset precompilation when starting server
When `public/assets/` is a symlink, running `find public/assets ...`
does not return the correct result. By using `public/assets/`, find is
able to return the correct result regardless of whether the folder is an
actual folder or a symlink.

[ci skip]
2017-07-13 21:41:11 +07:00
Benjamin Neff
6c1ebea633 Merge pull request #7483 from Flaburgan/7393-always-link-comment-mobile
Always link comment count text on mobile
2017-07-13 02:31:30 +02:00
Benjamin Neff
3817dc9a5b Merge pull request #7480 from Flaburgan/7402-space-comment-mobile-spv
Fix height too high on mobile SPV, closes #7402
2017-07-13 02:31:07 +02:00
Fla
f94fa95653 Add a Contributing file 2017-07-12 16:14:58 +02:00
flaburgan
fc27640468 Always link comment count text on mobile 2017-07-12 16:00:26 +02:00
Benjamin Neff
d62d79bc29 Merge branch 'next-minor' into develop 2017-07-12 03:51:17 +02:00
Benjamin Neff
541dcbcd39 Merge branch 'master' into next-minor 2017-07-12 03:50:58 +02:00
Benjamin Neff
8bed8a84a3 Merge branch 'release/0.6.7.0' 2017-07-12 03:49:09 +02:00
Benjamin Neff
0e8bb71449 updated 126 locale files [ci skip] 2017-07-12 03:42:15 +02:00
Benjamin Neff
bc663253d2 Merge branch 'next-minor' into develop 2017-07-07 09:02:19 +02:00
Benjamin Neff
1ce736df16 Merge branch 'release/0.6.7.0' into next-minor 2017-07-07 09:02:10 +02:00
Dennis Schubert
e47895f3e1 Center .excellence-box contents
closes #7481
2017-07-07 09:01:34 +02:00
flaburgan
2dc142bd70 Add access to the report page on mobile for moderators
closes #7479
2017-07-07 08:58:42 +02:00
Benjamin Neff
2dc129d9be Merge branch 'next-minor' into develop 2017-07-06 02:55:31 +02:00
Benjamin Neff
2244781615 Merge branch 'release/0.6.7.0' into next-minor 2017-07-06 02:55:26 +02:00
flaburgan
59c343c0c6 Increase poltegeist timeout
closes #7478
2017-07-06 02:51:14 +02:00
flaburgan
9146c8d80f Fix height too high on mobile SPV, closes #7402 2017-07-05 17:19:20 +02:00
Benjamin Neff
58609e42d7 Merge branch 'next-minor' into develop 2017-07-05 02:10:24 +02:00
Benjamin Neff
58aa59fb8e Start 0.6.8.0 cycle 2017-07-05 02:07:45 +02:00
Benjamin Neff
068acd93ce Cleanup changelog (no bugfixes in this release) 2017-07-05 02:04:07 +02:00
Benjamin Neff
0e13a316f6 Cleanup some translations
closes #7465
2017-07-05 02:02:13 +02:00
flaburgan
ddda28102c Clean up the footer links a bit
closes #7446
2017-07-05 01:59:18 +02:00
flaburgan
ea9e50085d Add link to discourse in footer and left side bar 2017-07-05 01:57:17 +02:00
flaburgan
07d0ed916d Fix design issues + pronto
closes #7295
2017-07-05 01:51:07 +02:00
flaburgan
427aa8794e Add tests for mobile drawer 2017-07-05 01:50:16 +02:00
flaburgan
2782edc780 Refactor partials + pronto 2017-07-05 01:50:16 +02:00
flaburgan
a7d97b7fd3 Add mobile message confirmation on user invit action, Refactor admin responsive code to use bootstrap grid
Hide pod version alert only in the mobile version, not depending on screen size
2017-07-05 01:50:16 +02:00
flaburgan
7bdf33e1a8 Move invitation form under the user search in admin
Indicates when there is no report to review to avoid a weird empty page
2017-07-05 01:50:16 +02:00
SansPseudoFix
5cb4c6e5df Refactor, more partials + No version check for mobile 2017-07-05 01:50:16 +02:00
SansPseudoFix
276b640418 Add admin views to mobile, use partials for common code with desktop 2017-07-05 01:50:10 +02:00
Benjamin Neff
d71aa6a54a Merge branch 'next-minor' into develop 2017-07-03 03:46:54 +02:00
atulonruby
df1139234f Warn user if he leaves profile editing page #6520
closes #7473

closes #6589
2017-07-03 03:45:57 +02:00
Benjamin Neff
a931bee319 Make Participation entity non-relayable 2017-07-03 03:14:42 +02:00
Benjamin Neff
be8a1dfef4 Add tests for ContactRetraction 2017-07-03 03:14:42 +02:00
cmrd Senya
c2b9b8ab54 Use ContactRetraction for stop sharing with someone 2017-07-03 03:14:42 +02:00
Benjamin Neff
e2a40bb643 Send Relayables with parent author when the parent is local
Needed for diaspora/diaspora_federation#64
2017-07-03 03:14:42 +02:00
Benjamin Neff
4f9e560ab3 Use RFC 7033 webfinger from diaspora_federation gem 2017-07-03 03:14:41 +02:00
Benjamin Neff
283722a693 Use build_relayable_federation_entity helper for receive specs 2017-07-03 03:14:41 +02:00
Benjamin Neff
3ab674552f Rename xml_order to signature_order 2017-07-03 03:14:41 +02:00
Benjamin Neff
0f551c7b19 Fix public flag for contact retractions 2017-07-03 03:14:41 +02:00
Benjamin Neff
4244f2a5df Make Participation entity non-relayable
Related to diaspora/diaspora_federation#35
2017-07-03 03:14:41 +02:00
Benjamin Neff
07e9bf8be8 Remove old unused salmon method 2017-07-03 03:14:40 +02:00
Benjamin Neff
246d1ebbdf Remove legacy post xml
This was used for the old post fetching

Related to diaspora/diaspora_federation#31
2017-07-03 03:14:40 +02:00
Benjamin Neff
a6d7dbf1dd Send MagicEnvelope as body with correct Content-Type in specs
Related to diaspora/diaspora_federation#30
2017-07-03 03:14:40 +02:00
Benjamin Neff
381c03cfd7 Remove backward-compatibility for Retractions 2017-07-02 23:56:01 +02:00
Benjamin Neff
b6b0aac969 Send only Retractions
Related to diaspora/diaspora_federation#27
2017-07-02 23:56:00 +02:00
Benjamin Neff
e907b3eb18 Send Contact entity for start/stop sharing
Related to diaspora/diaspora_federation#32
2017-07-02 23:56:00 +02:00
Benjamin Neff
f6dc809e29 Send new MagicEnvelope and EncryptedMagicEnvelope
Related to diaspora/diaspora_federation#30
2017-07-02 23:56:00 +02:00
Benjamin Neff
95def40c55 Make Message entity non-relayable
Related to #36
2017-07-02 23:56:00 +02:00
Benjamin Neff
87d0778086 Remove guid and public_key from WebFinger
Related to diaspora/diaspora_federation#39
2017-07-02 23:56:00 +02:00
Benjamin Neff
5e2d063c49 Hash from federation entity now contains the correct data-type 2017-07-02 23:56:00 +02:00
Benjamin Neff
189c223224 Fix notification factory 2017-07-02 23:55:59 +02:00
Benjamin Neff
49822a9af7 New namespace for InvalidRootNode 2017-07-02 23:55:59 +02:00
Benjamin Neff
5e3ea249a9 Replace additional_xml_elements with additional_data for relayables 2017-07-02 23:55:59 +02:00
Benjamin Neff
78c7156e72 Replace FactoryGirl with Fabricate for federation factories 2017-07-02 23:55:59 +02:00
Benjamin Neff
d79c2e511b Bump diaspora_federation 2017-07-02 23:55:01 +02:00
Benjamin Neff
cb50681cea Merge branch 'next-minor' into develop 2017-06-30 02:13:40 +02:00
Benjamin Neff
0d232f1d1b Switch PercentLiteralDelimiters to new default
Let's change that to the new rubocop default, which is also the
suggestion in the ruby style guide.

See https://github.com/bbatsov/ruby-style-guide#percent-literal-braces

closes #7466
2017-06-30 02:13:31 +02:00
Benjamin Neff
05efe9b8fe Merge branch 'next-minor' into develop 2017-05-29 03:21:59 +02:00
Benjamin Neff
1751e21a87 Merge branch 'master' into next-minor 2017-05-29 03:21:49 +02:00
Benjamin Neff
7aadadce44 Merge branch 'release/0.6.6.0' 2017-05-29 03:20:38 +02:00
Benjamin Neff
f59055860a updated 70 locale files [ci skip] 2017-05-29 03:17:45 +02:00
Benjamin Neff
44e10a9172 Merge branch 'next-minor' into develop 2017-05-26 01:51:37 +02:00
Mahonri Gibson
5739f67605 Save email without confirmation when podmail is disabled.
fixes #7195

closes #7455
2017-05-26 01:50:55 +02:00
Benjamin Neff
a7093c6f7d Merge branch 'next-minor' into develop 2017-05-23 00:17:19 +02:00
Benjamin Neff
a6869197d8 Start 0.6.7.0 cycle
[ci skip]
2017-05-23 00:15:06 +02:00
Dennis Schubert
01d1bb10ac Merge branch 'next-minor' into develop 2017-05-21 12:08:16 +02:00
Benjamin Neff
0197cecaf8 Bump nokogiri
closes #7458
2017-05-21 12:08:12 +02:00
Dennis Schubert
7c37a62593 Merge branch 'next-minor' into develop 2017-05-21 12:07:14 +02:00
Benjamin Neff
65e8fc4012 Fix comment for environment.sidekiq.retry in diaspora.yml
fixes #7456

closes #7457
2017-05-21 12:07:10 +02:00
Dennis Schubert
1e06fd786c Merge branch 'next-minor' into develop 2017-05-21 12:06:41 +02:00
Benjamin Neff
e177706769 Add admin account username to NodeInfo metadata
Fixes #7421

closes #7447
2017-05-21 12:06:35 +02:00
Benjamin Neff
7934c1e969 Add NodeInfo 2.0 support 2017-05-21 12:05:54 +02:00
Dennis Schubert
010c1953f9 Merge branch 'next-minor' into develop 2017-05-21 12:05:22 +02:00
Benjamin Neff
c2eb53e827 Bump rubocop
Use old style for Style/PercentLiteralDelimiters for now. Maybe we can
change this in the future, because the ruby style guide suggests to use
`[]` (which is also the new default for rubocop).

closes #7443#
2017-05-21 12:05:17 +02:00
Benjamin Neff
153569e297 Bump pronto and all pronto-runners
Also add `require: false` everywhere.
2017-05-21 12:05:13 +02:00
Benjamin Neff
e463397122 Merge branch 'next-minor' into develop 2017-05-16 00:37:06 +02:00
cmrd Senya
6abd0509f9 Use guid instead of id at permalink and in SPV
This changes links from /posts/:id to /posts/:guid where the links are
not clicked very often. ID search is faster than guid search so we can't
change it everywhere, but these links are not very useful for clicking,
but can be used for easier guid look up.

closes #7453
2017-05-16 00:36:43 +02:00
Benjamin Neff
ee05cc8270 Merge branch 'next-minor' into develop 2017-05-13 02:09:25 +02:00
Mahonri Gibson
942e090b3a Fix welcome message crashing server if podmin is set to invalid user.
Fixes #7363

closes #7452
2017-05-13 02:08:51 +02:00
Benjamin Neff
f4f0e724c6 Merge branch 'next-minor' into develop 2017-05-11 04:24:29 +02:00
Benjamin Neff
02b4d3f347 Don't raise when the public key of a person is "broken"
Breaking a public key of a person can be used to "block" receiving posts
from this person on the pod. So we should handle that case better and
not just trigger many retries for something that will fail again.

closes #7448
2017-05-11 04:24:13 +02:00
Benjamin Neff
7d9c6c85bd Remove rails_admin
This is now broken since more than half a year, so I think we can just
remove it.

Podmins shouldn't use this anyway, because it does bad things, like
replacing NULL with an empty string when editing something. If we really
need an admin interface for something, we should add it to our own admin
panel at /admins/dashboard.

Fixes #7027 and #6413

closes #7440
2017-05-11 04:18:33 +02:00
Benjamin Neff
064fc3cc45 Merge branch 'next-minor' into develop 2017-05-05 02:30:56 +02:00
Steffen van Bergerem
23d3d9dc3f Use post page title for atom feeds and add entry author
Fixes #7249

closes #7420
2017-05-05 02:30:46 +02:00
Steffen van Bergerem
6dc4493685 Add spec for post_page_title for reshares 2017-05-05 02:29:28 +02:00
Steffen van Bergerem
fc28d6af35 Fix first comment in mobile view with french locale
Fixes #7438. The regression has possibly been introduced by #7207.

closes #7441
2017-05-05 02:26:22 +02:00
Benjamin Neff
d72eb59c07 Merge branch 'next-minor' into develop 2017-05-03 02:49:18 +02:00
Benjamin Neff
e7cfaa7e42 Bump diaspora_federation
The previous version logged the encrypted private messages of the new
protocol, which only makes the logfiles bigger without any benefit,
because it's encrypted anyway ...

closes #7435
2017-05-03 02:49:08 +02:00
Steffen van Bergerem
7f784cf2b1 Merge branch 'next-minor' into develop 2017-05-03 02:09:07 +02:00
Benjamin Neff
9e36f0201c Initialize timeago only after language is set
closes #7419
2017-05-03 02:08:57 +02:00
cmrd Senya
87ed561d45 bump rails-timeago
Here we also set autoDispose to false. This is an option that was introduced
sometime after our last bump. Default is true and it disposes timeago object
if it is not in DOM. But that is the way we initialize timeago objects, therefore
if we have autoDispose=true then they will be disposed before they inserted in DOM.
So by using autoDispose=false we enforce previous behavior that worked fine for us.
2017-05-03 02:08:50 +02:00
cmrd Senya
a880de28a8 Add a cuke for mobile stream page post timestamps 2017-05-03 02:08:50 +02:00
cmrd Senya
4621c54421 fix a typo 2017-05-03 02:08:50 +02:00
Benjamin Neff
caaea50cf6 Merge branch 'next-minor' into develop 2017-04-26 22:18:02 +02:00
pskosinski
afef279aff Fix untranslatable photo upload button's hover text
closes #7429

fixes #7427
2017-04-26 22:17:44 +02:00
Benjamin Neff
45c623c262 Merge branch 'next-minor' into develop 2017-04-19 00:52:49 +02:00
Benjamin Neff
78c9cc5754 Merge branch 'master' into next-minor 2017-04-19 00:52:38 +02:00
Benjamin Neff
91a9549c3d Merge branch 'release/0.6.5.0' 2017-04-19 00:52:02 +02:00
Benjamin Neff
746cb8bfb8 updated 68 locale files [ci skip] 2017-04-19 00:38:49 +02:00
Dennis Schubert
3eeee4b5de Merge branch 'next-minor' into develop 2017-04-12 01:29:50 +02:00
Dennis Schubert
69be912478 Start 0.6.6.0 cycle
[ci skip]
2017-04-12 01:28:18 +02:00
Benjamin Neff
e91a0a57a3 Merge branch 'next-minor' into develop 2017-04-08 00:00:56 +02:00
Steffen van Bergerem
3971a24d68 Add avatar fallback for avatar next to publisher
closes #7414
2017-04-08 00:00:45 +02:00
Steffen van Bergerem
bf105db297 Use setupAvatarFallback in tags and notification dropdown view 2017-04-08 00:00:12 +02:00
Steffen van Bergerem
bcb75e3082 Add avatar fallback for conversations view
Fixes #4991
2017-04-08 00:00:12 +02:00
Steffen van Bergerem
1c1af74e9f Add avatar fallback for typeahead suggestions 2017-04-07 23:59:58 +02:00
Steffen van Bergerem
82629c5979 Merge branch 'next-minor' into develop 2017-04-06 14:10:31 +02:00
Steffen van Bergerem
791e74104e Fix taggable path in text formatter comment [ci skip] 2017-04-06 14:10:12 +02:00
Benjamin Neff
24b40a4c01 Merge branch 'next-minor' into develop 2017-04-06 01:02:26 +02:00
Amadren
30fad8279b Improve csp for a better cloudflare support
closes #7367
2017-04-06 01:01:50 +02:00
Steffen van Bergerem
a61031710c Merge branch 'next-minor' into develop 2017-04-02 12:51:35 +02:00
cmrd Senya
f1c1091162 Remove unused cucumber step
"should see JSON"

closes #7410
2017-04-02 12:51:27 +02:00
cmrd Senya
483f738a0f Remove unused json_spec gem 2017-04-02 12:48:37 +02:00
Benjamin Neff
b639385c46 Merge pull request #7407 from svbergerem/statistics-json-500
Return 406 instead of 500 for statistics.json
2017-03-31 01:00:06 +02:00
Steffen van Bergerem
c94bac3cf9 Return 406 instead of 500 for statistics.json
Fixes #7406
2017-03-30 23:17:58 +02:00
Dennis Schubert
9a76cf7d3b Merge branch 'next-minor' into develop 2017-03-29 22:33:43 +02:00
Dennis Schubert
8e8af0bfa5 Merge branch 'master' into next-minor 2017-03-29 22:32:20 +02:00
Dennis Schubert
2b32e9b592 Merge branch 'hotfix/0.6.4.1' 2017-03-29 22:29:56 +02:00
Dennis Schubert
610f39e991 Bump nokogiri for a security release 2017-03-29 22:29:05 +02:00
Benjamin Neff
6a5c34535d Merge branch 'next-minor' into develop 2017-03-28 19:55:48 +02:00
flaburgan
6f14040e8e Fix invitation from sidebar
closes #7404
2017-03-28 19:55:42 +02:00
flaburgan
577ead7768 Fix mobile delete original reshare test
closes #7403
2017-03-28 19:55:27 +02:00
Dennis Schubert
ec6a6d5138 Merge branch 'next-minor' into develop 2017-03-28 06:42:53 +02:00
Waithamai
38450eacea Added spacing between list items fixes #7400
closes #7401
2017-03-28 06:42:43 +02:00
Dennis Schubert
10bf1c0925 Merge branch 'next-minor' into develop 2017-03-28 01:57:02 +02:00
Benjamin Neff
35f4d61d11 Disable rack session cookie for sidekiq
Since 4.2.3 sidekiq allows to disable its own session cookie for the
case where the app provides a session already.

closes #7395
2017-03-28 01:56:52 +02:00
Dennis Schubert
efdfa749a7 Merge branch 'next-minor' into develop
closes #7398
2017-03-28 01:48:35 +02:00
Steffen van Bergerem
7feed3545c Create mention success flash message with JavaScript 2017-03-28 01:46:30 +02:00
Benjamin Neff
5de83b881b Merge pull request #7399 from svbergerem/remove-statistics-json
Remove statistics.json
2017-03-28 00:08:16 +02:00
Steffen van Bergerem
e8ee74ef87 Remove statistics.json 2017-03-27 15:54:34 +02:00
Benjamin Neff
d9b02418b6 Merge branch 'next-minor' into develop 2017-03-27 00:04:53 +02:00
Steffen van Bergerem
4a56c0465c Remove outdated rtl styles
These lines might have been necessary some time ago but now they are making things worse.

closes #7374
2017-03-27 00:04:38 +02:00
Steffen van Bergerem
2c53c2941e Remove unused rtl styles 2017-03-27 00:03:06 +02:00
Steffen van Bergerem
d59ede46df Remove styles for removed elements 2017-03-27 00:03:06 +02:00
Steffen van Bergerem
4a944c5ab4 Use small avatar in the person json
closes #7376
2017-03-27 00:02:10 +02:00
Steffen van Bergerem
13a44be306 Reduce size of conversation recipients in conversation form
Fixes #7321.
2017-03-27 00:01:29 +02:00
Steffen van Bergerem
6f3c61d8f2 Increase maximal height of large thumbnail
Fixes #6248, supersedes #6244.

closes #7383
2017-03-27 00:00:41 +02:00
Steffen van Bergerem
8a98cd4517 Refactor destroyModel function in base view
closes #7385
2017-03-26 23:53:37 +02:00
Steffen van Bergerem
3ce4bba383 Only remove post from stream after successful response
Pass destroyModel from post control view to post view
and don't listen to the remove event in the post view
anymore. The `remove` function will be called from the
base view.

Fixes #5445
2017-03-26 23:50:48 +02:00
Steffen van Bergerem
5b0b3d989b Merge pull request #7394 from SuperTux88/mention-backport-on-receive
Only backport mention syntax when the author is local
2017-03-26 12:26:52 +02:00
Benjamin Neff
04e653bd69 Merge branch 'next-minor' into develop 2017-03-26 04:15:19 +02:00
Steffen van Bergerem
aa55a7a023 Remove custom jquery input event
closes #7371
2017-03-26 04:14:59 +02:00
Benjamin Neff
a07bd94ec6 Merge pull request #7389 from svbergerem/fix-comment-mentions-spacing
Fix comment mentions spacing
2017-03-26 04:06:34 +02:00
Benjamin Neff
d04a553ae2 Merge pull request #7380 from svbergerem/refactor-mentions-css
Refactor mentions-input-box css
2017-03-26 04:04:56 +02:00
Benjamin Neff
af0a5e32a1 Merge pull request #7369 from svbergerem/color-themes-i18n
i18n for color themes
2017-03-26 03:12:54 +02:00
Benjamin Neff
d0fcdc254e Only backport mention syntax when the author is local
We don't need to change new to old syntax when we receive a post from a
newer pod, since we can handle the new syntax. This is only needed when
sending it to older pods.

related to #7392
2017-03-25 23:42:19 +01:00
Benjamin Neff
06b61b6480 Merge branch 'next-minor' into develop 2017-03-25 20:38:00 +01:00
Steffen van Bergerem
57b7debdb6 Refactor location stream view, remove unused function
closes #7364
2017-03-25 20:37:37 +01:00
Steffen van Bergerem
05e9798027 Fix sharing indicator on profile page for blocked users
closes #7382
2017-03-25 20:35:45 +01:00
Steffen van Bergerem
d3de97b244 Disable autocomplete for the conversation form recipient input
closes #7375
2017-03-25 20:34:13 +01:00
Steffen van Bergerem
a639951b20 Remove unused jquery.infinitescroll
closes #7370
2017-03-25 20:32:33 +01:00
Steffen van Bergerem
f5c937b9cf Fix comment mentions spacing 2017-03-24 13:11:16 +01:00
Steffen van Bergerem
a1199ac219 Remove mentions-input-box 2017-03-24 01:14:01 +01:00
Steffen van Bergerem
d38eabf333 Refactor mentions-input-box css 2017-03-24 01:07:39 +01:00
Steffen van Bergerem
b0da14c383 Merge pull request #7386 from cmrd-senya/comment-mention-front-end
Comment mentions front-end
2017-03-24 00:20:37 +01:00
cmrd Senya
c2f352d837 Comment mentions front-end 2017-03-24 00:40:24 +02:00
Steffen van Bergerem
b076a1a1ff Merge branch 'next-minor' into develop 2017-03-23 13:55:23 +01:00
flaburgan
30c2d5d9ac Close popovers before submitting the publisher to avoid random failures
closes #7384
2017-03-23 13:55:14 +01:00
flaburgan
ce15f41a04 Check the publisher is closed when submitted, test it is expanded when filled 2017-03-23 13:55:08 +01:00
Benjamin Neff
8ccc39e296 Merge branch 'next-minor' into develop 2017-03-23 03:42:31 +01:00
Dennis Schubert
bfad786ef5 Add Discourse, remove Loomio, remove mailinglists [ci skip]
closes #7387
2017-03-23 03:42:23 +01:00
Steffen van Bergerem
55fee86a95 Merge branch 'next-minor' into develop 2017-03-21 16:29:25 +01:00
flaburgan
3ba84475f2 Check for modal invitation title
closes #7381
2017-03-21 16:29:19 +01:00
Steffen van Bergerem
a2ca68b523 Merge branch 'next-minor' into develop 2017-03-21 13:34:59 +01:00
flaburgan
ad7d4d777b Add links to liked and commented pages within My activity
closes #5502
2017-03-21 13:34:47 +01:00
Steffen van Bergerem
80b53adcf0 Merge branch 'next-minor' into develop 2017-03-21 13:08:52 +01:00
flaburgan
b3e3de08b8 Fix block user failing feature
closes #7379
2017-03-21 13:08:44 +01:00
Steffen van Bergerem
b2d0feb00d Merge pull request #7303 from cmrd-senya/jquery3
Use jQuery 3
2017-03-18 16:06:05 +01:00
cmrd Senya
71e0bdc411 app_spec fixes 2017-03-18 16:50:55 +02:00
cmrd Senya
c90cb3328e jQuery 3 integration 2017-03-18 16:50:52 +02:00
Steffen van Bergerem
ca6ce912d3 Merge branch 'next-minor' into develop 2017-03-17 11:34:56 +01:00
cmrd Senya
526ebcfa13 In jQuery 3 "#" is disallowed as a selector
here is a somewhat hacky way to force use an empty selector where "#"
was used as a selector before

closes #7372
2017-03-17 11:34:45 +01:00
Steffen van Bergerem
7eb3dabb44 i18n for color themes 2017-03-16 12:25:41 +01:00
goobertron
6657fd51fa Capitalisation of colour themes 2017-03-16 12:03:53 +01:00
Benjamin Neff
78359d69d8 Merge branch 'next-minor' into develop 2017-03-12 04:32:47 +01:00
Benjamin Neff
3a6e5d5446 Merge branch 'master' into next-minor 2017-03-12 04:32:06 +01:00
Benjamin Neff
a9c282d986 Merge branch 'release/0.6.4.0' 2017-03-12 04:18:52 +01:00
Benjamin Neff
2c6101fbbd updated 27 locale files [ci skip] 2017-03-12 04:17:45 +01:00
Steffen van Bergerem
1b9ab16039 Merge branch 'next-minor' into develop 2017-03-06 21:11:54 +01:00
cmrd Senya
2739259fb6 some more replacements for deprecated jquery methods
closes #7356
2017-03-06 21:11:47 +01:00
cmrd Senya
f36a4cd1f5 don't use the deprecated ".selector" method 2017-03-06 21:11:13 +01:00
cmrd Senya
a479db1c96 a missing spy 2017-03-06 21:11:12 +01:00
Steffen van Bergerem
0aefc76aaa Merge branch 'next-minor' into develop 2017-03-06 21:10:31 +01:00
Senya
0e28cfadb2 remove unused setPreload function
closes #7354
2017-03-06 21:10:25 +01:00
Steffen van Bergerem
6fce2810e5 Merge pull request #7331 from SuperTux88/fix-mentioned-in-comments-notifications
Fix mentioned in comments notifications
2017-03-05 20:07:25 +01:00
Benjamin Neff
509f429cc8 Move 'distinct' to 'allowed_to_be_mentioned_in_a_comment_to' 2017-03-05 17:59:28 +01:00
Benjamin Neff
ce739ef5ad Merge branch 'next-minor' into develop 2017-03-05 16:29:35 +01:00
Steffen van Bergerem
e82005c517 Disable Rails/HttpPositionalArguments cop
See http://rubocop.readthedocs.io/en/latest/cops_rails/#railshttppositionalarguments.

It only applies to Rails >= 5

closes #7353
2017-03-05 16:27:48 +01:00
Benjamin Neff
351b4d28bf Merge branch 'next-minor' into develop 2017-03-05 01:58:24 +01:00
Benjamin Neff
13698bece5 Start 0.6.5.0 cycle 2017-03-05 01:56:50 +01:00
Benjamin Neff
ae687cf1d5 Merge branch 'next-minor' into develop 2017-03-05 00:01:11 +01:00
Benjamin Neff
10935d623b Pin thor to prevent accidental upgrades
Thor was upgraded again in #7345, but there are still "warnings" looking
like errors when using "db:migrate" for example. So lets pin it until it is
safe to upgrade.

closes #7351
2017-03-05 00:00:13 +01:00
Benjamin Neff
8e4261100b Create asterisk.png without digest after precompile
fixes #7317

closes #7322
2017-03-04 23:58:08 +01:00
Benjamin Neff
e82ac2199f Merge branch 'next-minor' into develop 2017-03-04 22:11:22 +01:00
Steffen van Bergerem
612455d41f Bump faraday and twitter
closes #7348
2017-03-04 22:10:23 +01:00
Steffen van Bergerem
c485aa3294 Fix order of gems in Gemfile for pronto 2017-03-04 22:09:54 +01:00
Steffen van Bergerem
af4f98f4ba Bump haml_lint 2017-03-04 22:09:54 +01:00
Benjamin Neff
13f549b2ba Bump rubocop
And update config for new/updated cops.
2017-03-04 22:09:54 +01:00
Steffen van Bergerem
8330e5ef72 Bump faraday_middleware 2017-03-04 22:09:54 +01:00
Steffen van Bergerem
f1ecb8e121 Bump open_graph_reader 2017-03-04 22:09:54 +01:00
Steffen van Bergerem
47129aa4ae Bump diaspora_federation 2017-03-04 22:09:54 +01:00
Steffen van Bergerem
e12b0096c4 Bump yard 2017-03-04 22:09:54 +01:00
Steffen van Bergerem
8c1f2dde66 Bump warden 2017-03-04 22:09:54 +01:00
Steffen van Bergerem
8cfd5530ad Bump sass 2017-03-04 22:09:54 +01:00
Steffen van Bergerem
c94c7492aa Bump request_store 2017-03-04 22:09:53 +01:00
Steffen van Bergerem
0ebc34c476 Bump remotipart 2017-03-04 22:09:53 +01:00
Steffen van Bergerem
27f46c7149 Bump perfect-scrollbar 2017-03-04 22:09:53 +01:00
Steffen van Bergerem
6929370c15 Bump markdown-it 2017-03-04 22:09:53 +01:00
Steffen van Bergerem
fc44341f0e Bump jasmine-ajax 2017-03-04 22:09:26 +01:00
Steffen van Bergerem
d1bdaa02e4 Bump highlightjs 2017-03-04 22:09:26 +01:00
Steffen van Bergerem
ff64581a70 Bump fineuploader 2017-03-04 22:09:25 +01:00
Steffen van Bergerem
9e311ca41d Bump corejs-typeahead 2017-03-04 22:09:25 +01:00
Steffen van Bergerem
b12a471a4a Bump blueimp-gallery 2017-03-04 22:09:25 +01:00
Steffen van Bergerem
a0ec287cc9 Bump rack-oauth2 2017-03-04 22:09:25 +01:00
Steffen van Bergerem
aa3c78375a Bump pry-byebug 2017-03-04 22:09:25 +01:00
Steffen van Bergerem
622100d1e5 Bump parser 2017-03-04 22:09:25 +01:00
Steffen van Bergerem
0e946078f3 Bump oauth2 2017-03-04 22:09:25 +01:00
Steffen van Bergerem
934f938fe2 Bump mimemagic 2017-03-04 22:09:25 +01:00
Steffen van Bergerem
c00e6f788e Bump kaminari 2017-03-04 22:09:25 +01:00
Steffen van Bergerem
ffeb9f1b7e Bump jwt 2017-03-04 22:09:24 +01:00
Steffen van Bergerem
af8101d718 Bump json-jwt 2017-03-04 22:09:24 +01:00
Steffen van Bergerem
d33a36c184 Bump httpclient 2017-03-04 22:09:24 +01:00
Steffen van Bergerem
dd9371a956 Bump http-cookie 2017-03-04 22:09:24 +01:00
Steffen van Bergerem
5f7ffc4094 Bump font-awesome-rails 2017-03-04 22:09:24 +01:00
Steffen van Bergerem
8a92724b4a Bump fog-aws 2017-03-04 22:09:24 +01:00
Steffen van Bergerem
f1ba71aaee Bump excon 2017-03-04 22:09:24 +01:00
Steffen van Bergerem
1173046c6b Bump entypo-rails 2017-03-04 22:09:24 +01:00
Steffen van Bergerem
d8d3d063c5 Bump domain_name 2017-03-04 22:09:23 +01:00
Steffen van Bergerem
52d16d2277 Bump diff-lcs 2017-03-04 22:09:23 +01:00
Steffen van Bergerem
4f3cfbf1d8 Bump coffee-script-source 2017-03-04 22:09:23 +01:00
Steffen van Bergerem
574f5c6e99 Bump chunky_png 2017-03-04 22:09:23 +01:00
Steffen van Bergerem
cf905e6bb5 Bump byebug 2017-03-04 22:09:23 +01:00
Steffen van Bergerem
feb6d93251 Bump bindata 2017-03-04 22:09:23 +01:00
Steffen van Bergerem
eda0836c79 Bump addressable 2017-03-04 22:09:23 +01:00
Steffen van Bergerem
809e0224a6 Bump spring 2017-03-04 22:09:23 +01:00
Steffen van Bergerem
20a0ca566f Bump rb-inotify 2017-03-04 22:09:23 +01:00
Steffen van Bergerem
7f8c2b71e7 Bump rb-fsevent 2017-03-04 22:09:22 +01:00
Steffen van Bergerem
f0cc0fdddd Bump pronto 2017-03-04 22:09:22 +01:00
Steffen van Bergerem
90d400724f Bump poltergeist 2017-03-04 22:09:22 +01:00
Steffen van Bergerem
e736a73759 Bump jasmine 2017-03-04 22:09:22 +01:00
Steffen van Bergerem
c503ed7056 Bump guard 2017-03-04 22:09:22 +01:00
Steffen van Bergerem
2b1da9463a Bump factory_girl_rails 2017-03-04 22:09:22 +01:00
Steffen van Bergerem
408461d186 Bump coveralls 2017-03-04 22:09:22 +01:00
Steffen van Bergerem
1d88e48df1 Bump capybara 2017-03-04 22:09:22 +01:00
Steffen van Bergerem
c92a078516 Bump unicorn 2017-03-04 22:09:21 +01:00
Steffen van Bergerem
41321a2fa6 Bump uglifier 2017-03-04 22:09:21 +01:00
Steffen van Bergerem
3f23ef7e31 Bump typhoeus 2017-03-04 22:09:21 +01:00
Steffen van Bergerem
9bf3a78592 Bump twitter-text 2017-03-04 22:09:21 +01:00
Steffen van Bergerem
c0c8793df3 Bump simple_captcha2 2017-03-04 22:09:21 +01:00
Steffen van Bergerem
14728e3817 Bump sidekiq-cron 2017-03-04 22:09:21 +01:00
Steffen van Bergerem
09688fad44 Bump sidekiq 2017-03-04 22:09:21 +01:00
Steffen van Bergerem
2c9dccbb9a Bump secure_headers 2017-03-04 22:09:21 +01:00
Steffen van Bergerem
8897d39216 Bump rubyzip 2017-03-04 22:09:20 +01:00
Steffen van Bergerem
704fa9921b Bump redcarpet 2017-03-04 22:09:20 +01:00
Steffen van Bergerem
d6f8a21706 Bump rack-cors 2017-03-04 22:09:20 +01:00
Steffen van Bergerem
dbf91a0b1d Bump omniauth-twitter 2017-03-04 22:09:20 +01:00
Steffen van Bergerem
886dddca50 Bump omniauth
1.5.0 would require Ruby >= 2.1.9
2017-03-04 22:09:20 +01:00
Steffen van Bergerem
51e5f8cf1e Bump nokogiri 2017-03-04 22:09:20 +01:00
Steffen van Bergerem
bed5e281ef Bump mysql2 2017-03-04 22:09:20 +01:00
Steffen van Bergerem
25b9f3f74f Bump mini_magick 2017-03-04 22:09:20 +01:00
Steffen van Bergerem
e25c5c9b98 Bump json-schema 2017-03-04 22:09:20 +01:00
Steffen van Bergerem
cd09b64c8f Bump js-routes 2017-03-04 22:09:19 +01:00
Steffen van Bergerem
7033c061a1 Bump http_accept_language 2017-03-04 22:09:19 +01:00
Steffen van Bergerem
33aaa0ea80 Bump hamlit 2017-03-04 22:09:19 +01:00
Steffen van Bergerem
c070b35ca9 Bump eye 2017-03-04 22:09:19 +01:00
Steffen van Bergerem
8356391eb7 Bump autoprefixer-rails 2017-03-04 22:09:19 +01:00
Steffen van Bergerem
e98d9501c4 Bump acts_as_api 2017-03-04 22:09:19 +01:00
Steffen van Bergerem
00e740bca4 Bump activerecord-import 2017-03-04 22:09:19 +01:00
Benjamin Neff
e1bf447aad Merge branch 'next-minor' into develop 2017-03-04 21:08:18 +01:00
Steffen van Bergerem
12deda1429 Change regexp for hashtags
Fixes #5765, fixes #5815, supersedes #6099.

closes #7350
2017-03-04 21:08:11 +01:00
Steffen van Bergerem
1a14061e38 Merge branch 'next-minor' into develop 2017-03-02 12:48:53 +01:00
Benjamin Neff
7d2e6c636b Bump webmock
closes #7347
2017-03-02 12:48:47 +01:00
Benjamin Neff
f96edaa029 Merge branch 'next-minor' into develop 2017-03-02 01:27:06 +01:00
Steffen van Bergerem
313de7a047 Bump rails
closes #7345
2017-03-02 01:26:58 +01:00
Benjamin Neff
0488902b66 Merge branch 'next-minor' into develop 2017-02-19 21:56:19 +01:00
Steffen van Bergerem
bb2826842f Only display invite link on contacts page if invitations are enabled
fixes #7340

closes #7342
2017-02-19 21:55:10 +01:00
Benjamin Neff
fa85b17890 Merge branch 'next-minor' into develop 2017-02-19 03:20:39 +01:00
Steffen van Bergerem
0627cdaf43 Use autosize in modals
Fixes #7338 and missing autosize in conversation forms on the profile page
and the contacts page. Regression from #6674.

closes #7339
2017-02-19 03:20:26 +01:00
Benjamin Neff
ec2c4a8564 Merge branch 'next-minor' into develop 2017-02-18 23:00:59 +01:00
Steffen van Bergerem
e3c9e9c9f1 Improve comment service spec for limited post the user can't see
closes #7337
2017-02-18 23:00:49 +01:00
Steffen van Bergerem
436934e890 Refactor reshares controller using reshare service 2017-02-18 22:59:38 +01:00
Steffen van Bergerem
44b616eda8 Add reshare service 2017-02-18 22:59:38 +01:00
Steffen van Bergerem
e74b524e8f Refactor likes index route 2017-02-18 22:59:37 +01:00
Steffen van Bergerem
2772cb6e0c Refactor likes controller using like service 2017-02-18 22:59:37 +01:00
Steffen van Bergerem
f93124863f Add like service 2017-02-18 22:59:33 +01:00
Benjamin Neff
f9cf844602 Merge pull request #7280 from svbergerem/remove-chartbeat-and-mixpanel
Remove chartbeat and mixpanel support
2017-02-17 22:22:30 +01:00
Benjamin Neff
3d95642aca Fix receiving multiple mentioned-in-comment notifications
When somebody commented multiple times and is mentioned in another
comment afterwards, the person received multiple notifications.
2017-02-16 03:09:40 +01:00
Benjamin Neff
eac8c7572c Remove unused From headers
It is already added in the default_headers
2017-02-16 03:09:39 +01:00
Benjamin Neff
97c351c7b4 Add In-Reply-To and References header to mentioned in comment mail 2017-02-16 02:47:35 +01:00
Benjamin Neff
f1f1d09944 Merge pull request #7302 from svbergerem/simplify-mentions-publisher
Simplify mentions in the publisher
2017-02-15 03:15:01 +01:00
Steffen van Bergerem
810e43787c Merge branch 'next-minor' into develop 2017-02-14 10:37:05 +01:00
Benjamin Neff
d68ad916c8 Remove whitespace from author link
closes #7330
2017-02-14 10:36:58 +01:00
Steffen van Bergerem
c8ee03f639 Merge branch 'next-minor' into develop 2017-02-14 09:59:34 +01:00
Benjamin Neff
8182e711b1 closes #7329 2017-02-14 09:59:30 +01:00
Benjamin Neff
8a409c815c Merge branch 'next-minor' into develop 2017-02-14 00:30:53 +01:00
Steffen van Bergerem
5f8c838750 Change color of author-name on hover
closes #7326
2017-02-14 00:30:44 +01:00
Benjamin Neff
d984178685 Merge pull request #7327 from svbergerem/display-mentions-in-comment
Render mentions as links in comments
2017-02-13 23:58:28 +01:00
Benjamin Neff
3ef98f50ee Merge pull request #7328 from svbergerem/use-new-mention-syntax-in-specs
Use new mention syntax in specs
2017-02-13 23:19:32 +01:00
Steffen van Bergerem
339c25f333 Merge pull request #7324 from SuperTux88/at-before-mention-links
Display @ before mentions
2017-02-13 22:06:50 +01:00
Steffen van Bergerem
ab0a4606e2 Use new mention syntax in specs 2017-02-13 21:56:05 +01:00
Steffen van Bergerem
ef3faff8f1 Render mentions as links in comments 2017-02-13 21:47:57 +01:00
Steffen van Bergerem
99351bd152 Merge branch 'next-minor' into develop 2017-02-13 14:21:29 +01:00
Benjamin Neff
e92431ba88 Remove some unused color-theme overrides
After #7318 $link-color is used by default, no need to override anymore.

closes #7325
2017-02-13 14:21:20 +01:00
Benjamin Neff
2f9a032b38 Merge branch 'next-minor' into develop 2017-02-12 21:01:36 +01:00
Steffen van Bergerem
9558e747e4 Increase time to wait before showing the hovercard
closes #7319
2017-02-12 21:01:21 +01:00
Benjamin Neff
5c444e62be Add @ before mentions for mobile and notifications
fixes #7269
2017-02-12 20:10:36 +01:00
Benjamin Neff
c312ff00f3 Bump markdown-it-diaspora-mention 2017-02-12 19:30:43 +01:00
Steffen van Bergerem
a6e6e6de91 Refactor publisher mentions backbone view 2017-02-12 18:36:27 +01:00
Steffen van Bergerem
b23debf0b6 Refactor publisher backbone view 2017-02-12 18:36:27 +01:00
Steffen van Bergerem
9217df43cd Only update mentions in publisher before opening suggestions or preview 2017-02-12 18:36:27 +01:00
Steffen van Bergerem
90b379b110 Drop useless data attribute for message text in publisher 2017-02-12 18:36:26 +01:00
Steffen van Bergerem
c4b6b9534c No more fake text in the publisher 2017-02-12 18:36:26 +01:00
Steffen van Bergerem
a04f32adce Drop mentions box in the publisher 2017-02-12 18:31:37 +01:00
Steffen van Bergerem
b3c412d38f Display mention syntax in publisher instead of username 2017-02-12 18:31:36 +01:00
Steffen van Bergerem
408645cccc Use new mention syntax in the publisher 2017-02-12 18:31:36 +01:00
Benjamin Neff
cdb220be8d Merge branch 'next-minor' into develop 2017-02-11 19:37:30 +01:00
Steffen van Bergerem
dc8d66520b Use $link-color for text and $brand-primary for backgrounds/buttons
closes #7318
2017-02-11 19:37:07 +01:00
Steffen van Bergerem
dba8de5488 Use $blue only for reshare icon and $link-color everywhere else 2017-02-11 19:17:45 +01:00
Steffen van Bergerem
f1510ba2d6 Merge branch 'next-minor' into develop 2017-02-08 12:58:27 +01:00
Benjamin Neff
d9a1297271 Refactor PublisherHelper and move publisher_open? method
closes #7311
2017-02-08 12:58:13 +01:00
Benjamin Neff
8ebf9c4a4c Move publisher methods to PublisherHelper and check public publisher flag
This makes the #newhere post public again.
2017-02-08 12:56:34 +01:00
Benjamin Neff
44f712a2e6 Add test for first post to be public 2017-02-08 12:56:34 +01:00
Dennis Schubert
63077bfeaf Merge branch 'next-minor' into develop 2017-02-05 10:34:48 +01:00
Steffen van Bergerem
690bbd9db3 Link to community guidelines from left navbar
closes #7298
2017-02-05 10:34:44 +01:00
Dennis Schubert
37cdc7c10e Merge branch 'next-minor' into develop 2017-02-05 10:32:18 +01:00
Benjamin Neff
ab79758f72 Update spring binstub
closes #7287
2017-02-05 10:32:13 +01:00
Dennis Schubert
fda2d846e8 Merge branch 'next-minor' into develop 2017-02-05 10:31:34 +01:00
Benjamin Neff
b910c1730c Bump asset_sync
This new version now has fog-core as dependency instead of fog. Now we
can only add fog-aws as dependency and remove all other fog provider.

closes #7289
2017-02-05 10:31:29 +01:00
Dennis Schubert
29e712dfc8 Merge pull request #7305 from SuperTux88/improve-mention-syntax
Improve mention syntax
2017-02-05 10:30:06 +01:00
Benjamin Neff
2d8d0255dd Improve handling with new mention syntax without name
* fallback to diaspora ID when person is not found
* fix filter_people when the person is not found
* write some more tests
2017-01-31 20:56:22 +01:00
Benjamin Neff
84e2a131cf Remove { and } from the name when backporting mentions
Because } is not compatible with the regex.
2017-01-31 20:56:21 +01:00
Benjamin Neff
19e122264b Merge branch 'next-minor' into develop 2017-01-31 01:52:46 +01:00
Steffen van Bergerem
d790dec24d Bump markdown-it-diaspora-mention
closes #7301
2017-01-31 01:52:02 +01:00
Benjamin Neff
e10771c707 Merge pull request #7300 from SuperTux88/new-mention-syntax
New mention syntax - backend changes
2017-01-29 07:02:35 +01:00
Benjamin Neff
0e89d60117 Use name of mentioned person in plain text 2017-01-29 03:06:26 +01:00
Benjamin Neff
322f92110a Backport new mention syntax to old syntax for backward compatibility
See #7276
2017-01-29 03:06:26 +01:00
Benjamin Neff
a0d200d209 Update regex for new mention syntax
See #7276
2017-01-29 03:06:26 +01:00
Steffen van Bergerem
2aa91e0b62 Merge branch 'next-minor' into develop 2017-01-28 18:04:21 +01:00
Senya
302ee795b6 Fix a jasmine test issue
The issue from a jasmine spec introduced by #7227 caused the testsuite that runs in a browser to be redirected out of the jasmine runner and therefore not finished.

closes #7299
2017-01-28 18:04:01 +01:00
Benjamin Neff
a025a23c71 Merge branch 'next-minor' into develop 2017-01-23 02:43:12 +01:00
Benjamin Neff
c130b78117 Merge branch 'master' into next-minor 2017-01-23 02:42:53 +01:00
Benjamin Neff
1702cc1c86 Merge branch 'release/0.6.3.0' 2017-01-23 02:39:54 +01:00
Benjamin Neff
3d992160c3 Enable locales: de-CH, gd, and oc 2017-01-23 02:35:14 +01:00
Benjamin Neff
46ef3e65c4 updated 86 locale files [ci skip] 2017-01-23 02:09:19 +01:00
Benjamin Neff
af00d7c5c0 Merge branch 'next-minor' into develop 2017-01-22 23:30:42 +01:00
flaburgan
1028632ac1 Add Liberapay button in the donate section
closes #7290
2017-01-22 23:29:57 +01:00
Benjamin Neff
0e09c27a86 Merge branch 'next-minor' into develop 2017-01-19 00:20:53 +01:00
Steffen van Bergerem
8f95e973b2 Bump json
json 1.8.3 was incompatible with ruby 2.4.0

closes #7285
2017-01-19 00:20:43 +01:00
Benjamin Neff
8d84865e82 Merge branch 'next-minor' into develop 2017-01-18 23:52:17 +01:00
Benjamin Neff
451e6087be Merge branch 'release/0.6.3.0' into next-minor 2017-01-18 23:52:11 +01:00
Benjamin Neff
4e6a9aeb1e Fallback to title if the reshare root was deleted
closes #7284
2017-01-18 23:51:42 +01:00
Benjamin Neff
a0bfe6ffbe Merge branch 'next-minor' into develop 2017-01-16 01:17:35 +01:00
Steffen van Bergerem
b508b9f6ef Update database config comments
closes #7282
2017-01-16 01:17:27 +01:00
Benjamin Neff
7b7fbeffdc Merge branch 'next-minor' into develop 2017-01-15 23:45:56 +01:00
Steffen van Bergerem
941118d7af Move formatting from locale to views
closes #7283
2017-01-15 23:42:03 +01:00
spixi
fa0bd14dfb Fix script/server when bin/ is not in PATH
This fixes an issue, when the bin/ directory of diaspora is not in the PATH variable

closes #7281
2017-01-15 23:27:27 +01:00
Benjamin Neff
5e58068a72 Merge branch 'release/0.6.3.0' into next-minor 2017-01-15 23:00:32 +01:00
Benjamin Neff
e7d6831900 Add .wti to .gitignore 2017-01-15 22:40:13 +01:00
Steffen van Bergerem
bd0210a181 Remove chartbeat and mixpanel support 2017-01-15 13:30:54 +01:00
Benjamin Neff
5d52c298ad Merge branch 'next-minor' into develop 2017-01-15 05:07:07 +01:00
Benjamin Neff
66367cccd8 Start 0.6.4.0 cycle 2017-01-15 05:05:24 +01:00
Steffen van Bergerem
eb8d9809ff Merge branch 'next-minor' into develop 2017-01-15 04:04:31 +01:00
SansPseudoFix
0f60b9fb94 Switch reason and message
unify

rename and show full post on reports

Fix XSS issue

Unification

Style

Fix pronto

closes #7180
2017-01-15 04:04:18 +01:00
Benjamin Neff
03f9147589 Merge branch 'next-minor' into develop 2017-01-15 02:19:10 +01:00
Steffen van Bergerem
d0e70ccd6a Use new ajax error handling for like, unlike and comment failures
closes #7227
2017-01-15 02:19:02 +01:00
Steffen van Bergerem
bc5848fe9e Use new ajax error handling for reshare failures 2017-01-15 02:17:10 +01:00
Steffen van Bergerem
d609238ed4 Refactor mobile alerts for error responses, add them to container with fixed position 2017-01-15 02:17:10 +01:00
Steffen van Bergerem
b8d3323de0 Return error when unlike failed 2017-01-15 02:17:10 +01:00
Steffen van Bergerem
de789267fc Remove id selectors for mobile photo show page
closes #7279
2017-01-15 02:03:00 +01:00
Benjamin Neff
f11d51746d Downgrade thor to 0.19.1
Version 0.19.4 prints errors to the console, which can be weird for
podmins.

See erikhuda/thor#538
2017-01-15 02:01:00 +01:00
Dennis Schubert
96b7c6b429 Merge branch 'next-minor' into develop 2017-01-15 00:13:17 +01:00
Benjamin Neff
8e196a34a1 Hash from federation library now contains strings
closes #7258
2017-01-15 00:13:11 +01:00
Benjamin Neff
b79ccc5207 Add created_at to comments 2017-01-15 00:12:08 +01:00
Benjamin Neff
99c52f055c Bump diaspora_federation 2017-01-15 00:12:08 +01:00
Dennis Schubert
00193a8866 Merge branch 'next-minor' into develop 2017-01-15 00:11:18 +01:00
Benjamin Neff
f671bebd04 Fix background on mobile photo upload with dark theme
closes #7278
2017-01-15 00:11:07 +01:00
Benjamin Neff
0c0b618a8b Fix background on mobile photo page with dark theme 2017-01-15 00:09:50 +01:00
Benjamin Neff
66e3cdb07e Merge branch 'next-minor' into develop 2017-01-14 03:22:36 +01:00
Steffen van Bergerem
a290c432d8 Fix link to post on mobile photo page
closes #7274
2017-01-14 03:21:37 +01:00
Benjamin Neff
c2a66966f2 Merge branch 'next-minor' into develop 2017-01-14 02:09:09 +01:00
Steffen van Bergerem
521b3deefe Bump markdown-it
closes #7277
2017-01-14 02:08:55 +01:00
Steffen van Bergerem
a341be7677 Bump markdown-it-diaspora-mention 2017-01-14 02:08:14 +01:00
Benjamin Neff
2bcca54330 Merge pull request #7242 from cmrd-senya/mentionable-route
new PostController#mentionable_in_comment action
2017-01-13 04:13:01 +01:00
cmrd Senya
1fb6040344 new PostController#mentionable_in_comment action 2017-01-13 04:47:50 +02:00
Benjamin Neff
479328d0e3 Merge branch 'next-minor' into develop 2017-01-13 02:49:18 +01:00
Steffen van Bergerem
6e7910b037 Deduplicate notification dropdown view
closes #7270
2017-01-13 02:49:08 +01:00
Steffen van Bergerem
abe7ef3d18 Update existing notifications in dropdown on fetch
When fetching notifications this merges existing notifications and changes
their appearance in the dropdown if the html or the unread status changed.

This doesn't update all notifications in the dropdown but only those that are
returned by the server.

Related to #7247.
2017-01-13 02:47:37 +01:00
Steffen van Bergerem
ade9b97215 Update backbonejs, switch to rails-assets source 2017-01-13 02:47:37 +01:00
Benjamin Neff
ac136030c6 Merge branch 'next-minor' into develop 2017-01-11 02:43:41 +01:00
Steffen van Bergerem
b58226ba9a Load comments in mobile view when clicking comment button
closes #7207
2017-01-11 02:43:15 +01:00
Steffen van Bergerem
c9d49c89a6 Always show mobile reaction counts
fixes #5829
2017-01-11 02:43:06 +01:00
Benjamin Neff
f01480a14c Merge branch 'next-minor' into develop 2017-01-10 23:45:08 +01:00
Steffen van Bergerem
5efb4a912e Prevent scroll to top when clicking 'mark all as read' in the notification dropdown
Fixes #7252

closes #7253
2017-01-10 23:41:35 +01:00
Steffen van Bergerem
fb06d03f49 Close modals at the end of each jasmine spec
closes #7246
2017-01-10 23:32:27 +01:00
Steffen van Bergerem
95ddae86c7 Bump autosize 2017-01-10 23:31:47 +01:00
Steffen van Bergerem
aeb6d2287b Remove unused upload button css
closes #7271
2017-01-10 23:05:02 +01:00
Steffen van Bergerem
c164dac7a4 Merge branch 'next-minor' into develop 2017-01-07 18:32:15 +01:00
Frédéric Bolvin
7cc4b46d7e Replaced fileuploader-custom with FineUploader
closes #7083
2017-01-07 18:32:08 +01:00
Steffen van Bergerem
a11747a579 Merge branch 'next-minor' into develop 2017-01-07 03:05:13 +01:00
flaburgan
8e5d2f5c65 Add links to the aspects and followed tags page on mobile
closes #7265
2017-01-07 03:05:01 +01:00
Benjamin Neff
b632155772 Merge branch 'next-minor' into develop 2017-01-04 02:33:00 +01:00
Dennis Schubert
8709d74c3e Increase the spacing above and below post contents
closes #7267
2017-01-04 02:30:02 +01:00
flaburgan
03db9807d7 Remove Vines mention, fix #7262
closes #7264
2017-01-04 02:23:57 +01:00
Benjamin Neff
03ae48c820 Merge branch 'next-minor' into develop 2017-01-03 03:31:56 +01:00
flaburgan
747ea161bf Fix year bg color on /notifications
closes #7263
2017-01-03 03:31:47 +01:00
Dennis Schubert
6a1386094a Merge branch 'next-minor' into develop 2016-12-14 00:11:41 +01:00
Dennis Schubert
db97ff7a25 Merge branch 'master' into next-minor 2016-12-14 00:11:31 +01:00
Dennis Schubert
f79a54fc6c Merge branch 'next-minor' into develop 2016-12-13 18:51:47 +01:00
Dennis Schubert
a1331aa3b1 Merge branch 'release/0.6.2.0' into next-minor 2016-12-13 18:51:33 +01:00
Dennis Schubert
52b7d6ed9e updated 121 locale files [ci skip] 2016-12-13 18:49:44 +01:00
Benjamin Neff
fca13efdf2 Merge branch 'next-minor' into develop 2016-12-08 03:19:45 +01:00
Benjamin Neff
7ce3982b6d Merge branch 'release/0.6.2.0' into next-minor 2016-12-08 03:19:23 +01:00
Dennis Schubert
d74c182e6f Merge branch 'next-minor' into develop 2016-12-04 20:14:16 +01:00
Dennis Schubert
991b047be7 Start 0.6.3.0 cycle 2016-12-04 20:12:00 +01:00
Dennis Schubert
2c68c1f142 Merge branch 'next-minor' into develop 2016-12-04 20:10:17 +01:00
Benjamin Neff
da52627ab2 Merge branch 'next-minor' into develop 2016-12-02 03:31:45 +01:00
Dennis Schubert
af1c992e01 Merge branch 'next-minor' into develop 2016-12-01 03:17:21 +01:00
Benjamin Neff
bab503d960 Merge branch 'next-minor' into develop 2016-12-01 02:29:00 +01:00
Benjamin Neff
7bcd7cfd35 Merge pull request #7232 from svbergerem/fix-mentions-in-comments-migration
Fix mentions in comments migration on PostgreSQL
2016-11-30 00:07:14 +01:00
Steffen van Bergerem
154ea6515a Fix mentions in comments migration on PostgreSQL 2016-11-29 23:36:42 +01:00
Benjamin Neff
3b0c1020c0 Merge pull request #6818 from cmrd-senya/1851-mentions-in-comments.new
Mentions in comments backend changes
2016-11-29 19:31:43 +01:00
Benjamin Neff
4fb9d6ed11 Merge branch 'next-minor' into develop 2016-11-29 17:46:47 +01:00
cmrd Senya
33ad411bbd Mentions in comments backend changes 2016-11-28 15:56:56 +02:00
cmrd Senya
ef5751b808 Refactor mail workers to use common base
Introduce Workers::Mail::NotifierBase to be a base for all appropriate
mail workers to reduce code duplication
2016-11-28 15:35:46 +02:00
cmrd Senya
0ee34f8590 Remove the photo comment spec
This functionality is not something we support and it doesn't look
it will be reintroduced soon.

see discussion https://github.com/diaspora/diaspora/pull/6818#discussion_r70227392
2016-11-28 15:35:36 +02:00
Benjamin Neff
c1e583cffd Merge branch 'next-minor' into develop 2016-11-28 02:55:14 +01:00
Benjamin Neff
855b148ba5 Merge branch 'next-minor' into develop 2016-11-27 21:36:41 +01:00
Benjamin Neff
5c5ef38908 Merge branch 'next-minor' into develop 2016-11-26 02:38:55 +01:00
Benjamin Neff
34787043bb Merge branch 'next-minor' into develop 2016-11-25 22:37:21 +01:00
Steffen van Bergerem
443d738aee Merge branch 'next-minor' into develop 2016-11-25 15:56:39 +01:00
Steffen van Bergerem
365441ede2 Merge branch 'next-minor' into develop 2016-11-25 14:11:05 +01:00
Benjamin Neff
b6847f76b5 Merge branch 'next-minor' into develop 2016-11-24 23:30:24 +01:00
Benjamin Neff
edd3ddef52 Merge branch 'next-minor' into develop 2016-11-23 01:53:12 +01:00
Benjamin Neff
99b7229d5a Merge branch 'next-minor' into develop 2016-11-22 03:55:12 +01:00
Benjamin Neff
12a2e312d9 Merge branch 'next-minor' into develop 2016-11-19 03:40:57 +01:00
Steffen van Bergerem
9ecbac3ee0 Merge branch 'next-minor' into develop 2016-11-18 16:40:46 +01:00
Steffen van Bergerem
8cd26054c8 Merge branch 'next-minor' into develop 2016-11-18 15:29:00 +01:00
Benjamin Neff
73d352920f Merge branch 'next-minor' into develop 2016-11-18 02:14:51 +01:00
Steffen van Bergerem
f27769bcd2 Merge branch 'next-minor' into develop 2016-11-17 22:52:35 +01:00
Steffen van Bergerem
9b4f73dc77 Merge branch 'next-minor' into develop 2016-11-17 22:35:01 +01:00
Benjamin Neff
b319e0caa2 Merge branch 'next-minor' into develop 2016-11-15 22:56:06 +01:00
Benjamin Neff
6562397f64 Merge branch 'next-minor' into develop 2016-11-14 03:28:09 +01:00
Benjamin Neff
13869aa75c Merge branch 'next-minor' into develop 2016-11-13 20:11:38 +01:00
Steffen van Bergerem
766470dcd0 Merge branch 'next-minor' into develop 2016-11-12 21:39:17 +01:00
Dennis Schubert
2a927e66dc Merge branch 'next-minor' into develop 2016-11-06 03:07:00 +01:00
Dennis Schubert
b04ce82c49 Merge branch 'next-minor' into develop 2016-11-06 02:44:00 +01:00
Dennis Schubert
8fb17f8e2c Merge branch 'next-minor' into develop 2016-11-06 02:41:46 +01:00
Dennis Schubert
48cb2aca1d Merge branch 'next-minor' into develop 2016-11-06 02:41:12 +01:00
Dennis Schubert
ead2ba8edf Merge branch 'next-minor' into develop 2016-11-06 02:40:11 +01:00
Dennis Schubert
0c78fcaae7 Merge branch 'next-minor' into develop 2016-11-06 02:34:16 +01:00
Benjamin Neff
0b3f10aef2 Merge branch 'next-minor' into develop 2016-11-03 22:50:08 +01:00
Benjamin Neff
694d4cbc0f Merge branch 'next-minor' into develop 2016-11-02 23:03:36 +01:00
Dennis Schubert
bf3461ee3a Merge branch 'next-minor' into develop 2016-11-02 22:54:08 +01:00
Dennis Schubert
ad1b2793eb Merge branch 'next-minor' into develop 2016-10-30 00:15:20 +02:00
Dennis Schubert
69ec1d6fe8 Merge branch 'next-minor' into develop 2016-10-28 00:36:22 +02:00
Dennis Schubert
305958ff85 Merge branch 'next-minor' into develop 2016-10-27 02:30:37 +02:00
Dennis Schubert
402d87729c Merge branch 'next-minor' into develop 2016-10-27 02:26:57 +02:00
Dennis Schubert
75aaf869c5 Merge branch 'next-minor' into develop 2016-10-27 02:26:15 +02:00
Dennis Schubert
1e6e20bbfe Merge branch 'next-minor' into develop 2016-10-27 02:25:03 +02:00
Dennis Schubert
7cf63282af Merge branch 'next-minor' into develop 2016-10-27 02:23:40 +02:00
Dennis Schubert
3025b028e7 Merge branch 'next-minor' into develop 2016-10-27 02:22:33 +02:00
Benjamin Neff
2c0a2db848 Merge branch 'next-minor' into develop 2016-10-26 02:50:00 +02:00
Benjamin Neff
126d5f8f02 Merge branch 'next-minor' into develop 2016-10-26 00:52:02 +02:00
Steffen van Bergerem
9a09515955 Merge branch 'next-minor' into develop 2016-10-24 00:25:35 +02:00
Steffen van Bergerem
0b4215e961 Merge branch 'next-minor' into develop 2016-10-23 23:03:38 +02:00
Benjamin Neff
7e3a8b8c91 Merge branch 'next-minor' into develop 2016-10-18 23:30:42 +02:00
Steffen van Bergerem
892d2542e6 Merge branch 'next-minor' into develop 2016-10-18 15:37:37 +02:00
Steffen van Bergerem
7618b33528 Merge branch 'next-minor' into develop 2016-10-18 15:05:37 +02:00
Steffen van Bergerem
b40108e0c2 Merge branch 'next-minor' into develop 2016-10-17 22:48:01 +02:00
Dennis Schubert
563e62cbcb Merge branch 'next-minor' into develop 2016-10-01 10:24:22 +02:00
Steffen van Bergerem
fa4f7ff2d8 Merge branch 'next-minor' into develop 2016-10-01 02:37:02 +02:00
Benjamin Neff
fc3627d567 Merge branch 'next-minor' into develop 2016-10-01 02:29:11 +02:00
Dennis Schubert
c41fd52f1d Merge branch 'next-minor' into develop 2016-09-30 02:11:36 +02:00
Dennis Schubert
55b8c92809 Merge branch 'next-minor' into develop 2016-09-30 01:44:28 +02:00
Dennis Schubert
bb7928af55 Merge branch 'next-minor' into develop 2016-09-30 01:43:30 +02:00
Steffen van Bergerem
e08b775507 Merge branch 'next-minor' into develop 2016-09-30 00:33:16 +02:00
Steffen van Bergerem
3437c4d5cb Merge branch 'next-minor' into develop 2016-09-28 22:00:10 +02:00
Dennis Schubert
795283b581 Merge branch 'next-minor' into develop 2016-09-25 23:07:57 +02:00
Benjamin Neff
aa70b2f6c9 Merge branch 'next-minor' into develop 2016-09-25 20:15:34 +02:00
Dennis Schubert
3186855ffa Merge branch 'next-minor' into develop 2016-09-25 07:28:32 +02:00
Dennis Schubert
89bf1aeb4b Merge branch 'next-minor' into develop 2016-09-25 03:26:26 +02:00
Dennis Schubert
67328b9533 Merge branch 'next-minor' into develop 2016-09-25 03:20:48 +02:00
Dennis Schubert
20f93323fa Merge branch 'next-minor' into develop 2016-09-25 03:12:35 +02:00
Dennis Schubert
cff9669a03 Merge branch 'next-minor' into develop 2016-09-25 03:07:08 +02:00
Dennis Schubert
5437af74a3 Merge branch 'next-minor' into develop 2016-09-25 02:59:00 +02:00
Dennis Schubert
8a3fd1f3e7 Merge branch 'next-minor' into develop 2016-09-20 10:21:53 +02:00
Dennis Schubert
f34bf255d1 Merge branch 'next-minor' into develop 2016-09-20 04:29:47 +02:00
Dennis Schubert
d1ce590269 Merge branch 'next-minor' into develop 2016-09-20 04:25:10 +02:00
Dennis Schubert
b1eda420a3 Merge branch 'next-minor' into develop 2016-09-20 02:06:05 +02:00
Dennis Schubert
c3c5583d3e Merge branch 'next-minor' into develop 2016-09-20 01:47:32 +02:00
Benjamin Neff
9daee43aa8 Merge branch 'next-minor' into develop 2016-09-18 22:48:10 +02:00
Benjamin Neff
e88fdf8d60 Merge branch 'next-minor' into develop 2016-09-18 22:44:53 +02:00
Benjamin Neff
95167528a2 Merge branch 'next-minor' into develop 2016-09-18 22:31:18 +02:00
Steffen van Bergerem
b629f5fe32 Merge branch 'next-minor' into develop 2016-09-18 13:44:44 +02:00
Steffen van Bergerem
73d12bf344 Merge branch 'next-minor' into develop 2016-09-18 13:41:53 +02:00
Steffen van Bergerem
07883a73ba Merge branch 'next-minor' into develop 2016-09-18 13:35:53 +02:00
Benjamin Neff
1fdc17d96c Merge branch 'next-minor' into develop 2016-09-13 01:02:57 +02:00
Benjamin Neff
58642de8cb Merge branch 'next-minor' into develop 2016-09-13 01:01:12 +02:00
Benjamin Neff
36b2dff164 Merge branch 'next-minor' into develop 2016-09-13 01:00:13 +02:00
1800 changed files with 121081 additions and 84151 deletions

View File

@@ -2,7 +2,8 @@
"env": {
"browser": true,
"jasmine": true,
"jquery": true
"jquery": true,
"es6": true
},
"globals": {
@@ -10,16 +11,16 @@
"autosize": false,
"Backbone": false,
"Bloodhound": false,
"blueimp": false,
"gon": false,
"Handlebars": false,
"HandlebarsTemplates": false,
"ImagePaths": false,
"jsxc": false,
"L": false,
"Routes": false,
"OSM": false,
"PerfectScrollbar": false,
"qq": false,
"blueimp": false,
"Routes": false,
"loginAs": true,
"logout": true,
@@ -96,7 +97,7 @@
"no-catch-shadow": 0,
"no-class-assign": 2,
"no-cond-assign": 2,
"no-confusing-arrow": 2,
"no-confusing-arrow": [2, {"allowParens": true}],
"no-console": 2,
"no-const-assign": 2,
"no-constant-condition": 2,

63
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,63 @@
name: CI
on:
push:
branches:
- develop
- next-minor
- main
- master
pull_request:
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ruby:
- '3.2'
- '3.3'
db:
- mysql
- postgresql
kind:
- cucumber
- other
env:
DB: ${{ matrix.db }}
RAILS_ENV: test
BUNDLE_WITH: ${{ matrix.db }}
BUNDLE_WITHOUT: development
BUNDLE_FROZEN: true
BUNDLE_DISABLE_SHARED_GEMS: true
services:
postgres:
image: postgres
env:
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- name: Install system dependencies
run: sudo apt update && sudo apt install -y build-essential curl git gsfonts imagemagick libcurl4-openssl-dev libidn11-dev libmagickwand-dev libssl-dev libxml2-dev libxslt1-dev yarnpkg
- name: Start MySQL
run: sudo systemctl start mysql.service
if: matrix.db == 'mysql'
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: Prepare
run: script/ci/prepare.sh
- name: Run tests
run: bin/rake --trace ci:${{ matrix.kind }}
- name: Run Jasmine
run: bin/rake jasmine:ci
timeout-minutes: 2
if: matrix.kind == 'other'

62
.github/workflows/lint.yml vendored Normal file
View File

@@ -0,0 +1,62 @@
## SECURITY WARNING:
##
## Do not change this job unless you know what you're doing.
##
## This GitHub Action runs on: pull_request_target, which means the jobs run in
## a context where they have access to a Access Token with write access to the
## target repo, even if the PR is opened from an external contributor from their
## fork.
##
## This means that if we're not careful, we could be running third-party code
## within an authenticated scope, which isn't good. To mitigate this, this
## implementation does:
##
## 1. checkout the target branch (i.e. the project's original sources)
## 2. install the Gems from there, and install them into a directory that's
## outside the repository contents.
## 3. checkout the PRs HEAD
## 4. restore a bunch of files that would allow code execution from the
## project's upstream sources, namely:
## - bin/bundle - we'll run that in our Job
## - Gemfile/Gemfile.lock - to avoid loading a gem with an identical
## version number from a in-repo vendored directory
name: Lint
on:
pull_request_target:
permissions:
contents: read
statuses: write
pull-requests: write
jobs:
pronto:
runs-on: ubuntu-latest
steps:
- name: Install system dependencies
run: sudo apt update && sudo apt install -y build-essential curl git gsfonts imagemagick libcurl4-openssl-dev libidn11-dev libmagickwand-dev libssl-dev libxml2-dev libxslt1-dev yarnpkg
- name: Checkout Target branch
uses: actions/checkout@v3
with:
ref: ${{ github.base_ref }}
fetch-depth: 0
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.1"
bundler-cache: true
- name: Checkout PR HEAD
run: |
git fetch -q origin +refs/pull/${{ github.event.pull_request.number }}/head:
git checkout -qf FETCH_HEAD
- name: Restore the bundle binstub and Gemfiles from the target branch
run: |
git restore -s ${{ github.base_ref }} -- bin/bundle
git restore -s ${{ github.base_ref }} -- Gemfile
git restore -s ${{ github.base_ref }} -- Gemfile.lock
- name: Run Pronto
run: bin/bundle exec pronto run -f github_status github_pr_review -c ${{ github.base_ref }}
env:
PRONTO_PULL_REQUEST_ID: ${{ github.event.pull_request.number }}
PRONTO_GITHUB_ACCESS_TOKEN: ${{ github.token }}

43
.gitignore vendored
View File

@@ -1,36 +1,21 @@
# XMPP certificates, keys and user data
config/certs/*.crt
config/certs/*.key
config/prosody.cfg.lua
# Trademark sillyness
app/views/home/_show.*
app/views/terms/terms.*
app/assets/images/custom/
# Configuration files
config/diaspora.toml
config/diaspora.yml
config/heroku.yml
config/initializers/secret_token.rb
config/redis.conf
config/deploy_config.yml
config/schedule.rb
.bundle
vendor/bundle/
vendor/cache/
config/database.yml
.rvmrc_custom
.rvmrc.local
config/oidc_key.pem
# Mailing list stuff
config/email_offset
config/mailing_list.csv
config/schedule.yml
# Generated files
log/
public/stylesheets/*.css
public/diaspora
spec/fixtures/*.y*ml
spec/fixtures/*.fixture.*
coverage/
@@ -39,6 +24,12 @@ public/404.html
public/422.html
public/500.html
# the db/schema.rb. Although this is contrary to rails best-practises, we
# cannot provide a schema.rb that works for both MySQL and PostgreSQL, so we
# have no choice. Our migrations are maintained, so it should always be
# possible to get back to a "clean" database schema anyway.
db/schema.rb
# Sprites
app/assets/images/branding-*.png
app/assets/images/branding/logos-*.png
@@ -53,17 +44,13 @@ doc/
public/uploads/
public/assets/
public/source.tar*
public/.well-known
tmp/**/
tmp/
*.sqlite3
# Temporary files of every sort
.byebug_history
.sass-cache/
.DS_Store
.idea
.redcar
.rvmrc
.stgit*
*.swap
*.swo
@@ -76,13 +63,23 @@ tmp/
nbproject
patches-*
capybara-*.html
dump.rdb
# Rubinius's JIT
*.rbc
# IDE
.idea
.vscode
diaspora.iml
# Dolphin's directory's preferences files
*.directory
# WebTranslateIt
.wti
# MacOS
/__MACOSX/
# yarn
node_modules

View File

@@ -1,18 +1,24 @@
require: rubocop-rails
AllCops:
TargetRubyVersion: 3.0
NewCops: enable
Exclude:
- "bin/**/*"
- "db/schema.rb"
- "config/locales/cldr/plurals.rb"
Rails:
Enabled: true
# Disable for rails 4
Rails/HttpPositionalArguments:
Enabled: false
# Commonly used screens these days easily fit more than 80 characters.
Metrics/LineLength:
Layout/LineLength:
Max: 120
# Too short methods lead to extraction of single-use methods, which can make
# the code easier to read (by naming things), but can also clutter the class
Metrics/MethodLength:
Metrics/MethodLength:
Max: 20
# The guiding principle of classes is SRP, SRP can't be accurately measured by LoC
@@ -20,14 +26,29 @@ Metrics/ClassLength:
Max: 1500
Metrics/ModuleLength:
Max: 1500
# Raise AbcSize from 15 to 20
# Raise complexity metrics
Metrics/AbcSize:
Max: 20
Metrics/CyclomaticComplexity:
Max: 20
Metrics/PerceivedComplexity:
Max: 20
# Some blocks are longer.
Metrics/BlockLength:
AllowedMethods:
- "namespace"
- "create_table"
Exclude:
- "config/**/*.rb"
- "spec/**/*.rb"
# No space makes the method definition shorter and differentiates
# from a regular assignment.
Style/SpaceAroundEqualsInParameterDefault:
Layout/SpaceAroundEqualsInParameterDefault:
EnforcedStyle: no_space
# Single quotes being faster is hardly measurable and only affects parse time.
@@ -36,22 +57,33 @@ Style/SpaceAroundEqualsInParameterDefault:
# are needed.
Style/StringLiterals:
EnforcedStyle: double_quotes
Exclude:
# These files are generated by rails, so it's best to keep them close to the original for smaller diffs
- "config/application.rb"
- "config/boot.rb"
- "config/environment.rb"
- "config/environments/*.rb"
# We do not need to support Ruby 1.9, so this is good to use.
Style/SymbolArray:
Enabled: true
# Most readable form.
Style/AlignHash:
Layout/HashAlignment:
EnforcedHashRocketStyle: table
EnforcedColonStyle: table
# This rule makes haml files less readable, as there is no 'end' there.
Layout/CaseIndentation:
Exclude:
- "app/views/**/*"
# Mixing the styles looks just silly.
Style/HashSyntax:
EnforcedStyle: ruby19_no_mixed_keys
# has_key? and has_value? are far more readable than key? and value?
Style/DeprecatedHashMethods:
Style/PreferredHashMethods:
Enabled: false
# String#% is by far the least verbose and only object oriented variant.
@@ -64,7 +96,6 @@ Style/CollectionMethods:
# inject seems more common in the community.
reduce: "inject"
# Either allow this style or don't. Marking it as safe with parenthesis
# is silly. Let's try to live without them for now.
Style/ParenthesesAroundCondition:
@@ -73,13 +104,13 @@ Lint/AssignmentInCondition:
AllowSafeAssignment: false
# A specialized exception class will take one or more arguments and construct the message from it.
# So both variants make sense.
# So both variants make sense.
Style/RaiseArgs:
Enabled: false
# Indenting the chained dots beneath each other is not supported by this cop,
# see https://github.com/bbatsov/rubocop/issues/1633
Style/MultilineOperationIndentation:
Layout/MultilineOperationIndentation:
Enabled: false
# Fail is an alias of raise. Avoid aliases, it's more cognitive load for no gain.
@@ -91,10 +122,10 @@ Style/SignalException:
# Suppressing exceptions can be perfectly fine, and be it to avoid to
# explicitly type nil into the rescue since that's what you want to return,
# or suppressing LoadError for optional dependencies
Lint/HandleExceptions:
Lint/SuppressedException:
Enabled: false
Style/SpaceInsideBlockBraces:
Layout/SpaceInsideBlockBraces:
# The space here provides no real gain in readability while consuming
# horizontal space that could be used for a better parameter name.
# Also {| differentiates better from a hash than { | does.
@@ -102,7 +133,7 @@ Style/SpaceInsideBlockBraces:
# No trailing space differentiates better from the block:
# foo} means hash, foo } means block.
Style/SpaceInsideHashLiteralBraces:
Layout/SpaceInsideHashLiteralBraces:
EnforcedStyle: no_space
# { ... } for multi-line blocks is okay, follow Weirichs rule instead:
@@ -136,18 +167,34 @@ Lint/ShadowingOuterLocalVariable:
# Check with yard instead.
Style/Documentation:
Enabled: false
Enabled: false
# This is just silly. Calling the argument `other` in all cases makes no sense.
Style/OpMethod:
Enabled: false
Naming/BinaryOperatorParameterName:
Enabled: false
# Defining constants in tests is fine, and it's good to have them close to the test where they are used.
Lint/ConstantDefinitionInBlock:
Exclude:
- "spec/**/*"
# There are valid cases, for example debugging Cucumber steps,
# also they'll fail CI anyway
Lint/Debugger:
Enabled: false
# We used comparison everywhere.
Style/NumericPredicate:
EnforcedStyle: comparison
# Reset some HoundCI changes back to Rubocop defaults
Style/DotPosition:
Layout/DotPosition:
EnforcedStyle: leading
# Not enabled by default but good
Style/HashEachMethods:
Enabled: true
# It makes more sense to allow to structure and group them how it makes sense in the code
Style/AccessorGrouping:
Enabled: false

View File

@@ -1 +1 @@
2.3
3.3

View File

@@ -70,7 +70,7 @@ linters:
enabled: true
IdSelector:
enabled: true
enabled: false
ImportantRule:
enabled: true

View File

@@ -1,41 +0,0 @@
language: ruby
rvm:
- 2.3.1
- 2.1
env:
- DB=postgresql BUILD_TYPE=cucumber
- DB=mysql BUILD_TYPE=cucumber
- DB=postgresql BUILD_TYPE=other
- DB=mysql BUILD_TYPE=other
sudo: false
cache:
bundler: true
directories:
- app/assets/images
branches:
only:
- 'master'
- 'next-minor'
- 'develop'
before_install:
- gem install bundler
- mkdir travis-phantomjs
- wget http://cifiles.diasporafoundation.org/phantomjs-2.1.1-linux-x86_64.tar.bz2 -O $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
- tar -xvf $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C $PWD/travis-phantomjs
- export PATH=$PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH
bundler_args: "--deployment --without development production --with mysql postgresql --jobs 3 --retry 3"
script: "./script/ci/build.sh"
notifications:
irc:
channels:
- secure: YvYkeTAw+5oOl/RaXVwu7JkKGNWPoFosNQRmLvJkBFbWzZ1s5LZD1u3+Qj819bT3lGzJu9pxmJg765IRYrGWmBi4mcAV3dpO6qowVdFTcorf0JsnLw3Kvkga9rrDunsRNr21KTAQqHOO5mKUzw9DtMzd52BiWuZwIj3xcl72gQI=
template:
- "%{repository_slug}#%{commit} (%{branch} - %{commit_subject}): %{message} %{build_url}"

42
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,42 @@
# Contributing to diaspora\*
First of all: thank you very much for helping us out!
## Things you need to know before contributing
If you want to get in touch with other diaspora\* developers, [check our wiki][how-we-communicate] for information on how we communicate. Feel free to ask if you have any questions!
Everyone interacting with our code, issue trackers, chat rooms, mailing lists, the wiki, and the discourse forum is expected to follow the [diaspora\* code of conduct][code-of-conduct].
## Report a security issue
Found a security issue? Please disclose it responsibly. We have a team of developers listening to [security@diasporafoundation.org][sec-mail]. The PGP fingerprint is [AB0D AB02 0FC5 D398 03AB 3CE1 6F70 243F 27AD 886A][pgp].
## Contributing to translations
We use [WebTranslateIt][webtranslateit] to manage translations of the app interface. Please read [our wiki page][translation-wiki] to find out more about this. If your language is featured on WebTranslateIt, please do **not** open a pull request to update translations. If it is not already featured on WebTranslateIt, please read the wiki article above to find out how to proceed.
## Contributing to the code
**Before opening a pull request** please read [how to contribute][contribute]. Doing things the right way from the start will save us time and mean that your contribution can be integrated quicker!
- Follow our [git workflow][git-workflow] method. In particular, *do not* open a pull request from the `master` or the `develop` branch.
- Follow our [styleguide][styleguide] and run pronto, our syntax analyzer, **locally before opening a pull request**. See [our wiki][pronto] for information on how to do this.
- [Write tests][testing-workflow].
- Use meaningful commit-messages and split larger tasks, e.g. refactoring, into separate commits. This makes the review process much easier.
## Other ways to contribute
You dont know code? No worries, there are plenty other ways to help the diaspora* project! Please find out how you can help [on our wiki][other-ways].
[code-of-conduct]: https://github.com/diaspora/diaspora/blob/develop/CODE_OF_CONDUCT.md
[how-we-communicate]: https://wiki.diasporafoundation.org/How_we_communicate
[pgp]: https://pgp.mit.edu/pks/lookup?op=get&search=0x6F70243F27AD886A
[sec-mail]: mailto:security@diasporafoundation.org
[webtranslateit]: https://webtranslateit.com/en/projects/3020-Diaspora
[translation-wiki]: https://wiki.diasporafoundation.org/Contribute_translations
[contribute]: https://wiki.diasporafoundation.org/Getting_started_with_contributing
[git-workflow]: https://wiki.diasporafoundation.org/Git_Workflow
[styleguide]: https://wiki.diasporafoundation.org/Styleguide
[pronto]: https://wiki.diasporafoundation.org/Styleguide#Automatic_local_review
[testing-workflow]: https://wiki.diasporafoundation.org/Testing_Workflow
[other-ways]: https://wiki.diasporafoundation.org/Other_ways_to_contribute

View File

@@ -1,3 +1,643 @@
# 1.0.0 (unreleased)
## Refactor
## Bug fixes
## Features
# 0.9.1.0 (unreleased)
## Refactor
* Improved compatibility with non-specification-compliant OpenGraph metadata [#8465](https://github.com/diaspora/diaspora/pull/8465)
## Bug fixes
* Fix processing for a specific set of uploaded images, like scenes full of snow, by allowing for a larger on-disk cache for ImageMagick [#8460](https://github.com/diaspora/diaspora/pull/8460)
* Fix a bug with parsing certain OpenGraph metadata structures [#8463](https://github.com/diaspora/diaspora/pull/8463)
## Features
* For admins, the offending content's author is now visible in the reports overview [#8464](https://github.com/diaspora/diaspora/pull/8464)
# 0.9.0.0
## New configuration file!
Diaspora\* now uses TOML for the configuration file. We recommend you to migrate to this new format, as with the next major release (1.0) diaspora\* will no longer read the YAML based configuration file at `config/diaspora.yml`. To do so, please copy `config/diaspora.toml.example` to `config/diaspora.toml` and migrate your configuration.
## API!
With the release of diaspora\* Version 0.9, we now officially support building applications on top of the diaspora\* API! Please check out [the official API documentation](https://diaspora.github.io/api-documentation/) for instructions, and please do file bugs if you notice something that could be improved!
We are looking forward to seeing many creative applications!
## The chat integration has been removed
After [a discussion with our community on Discourse](https://discourse.diasporafoundation.org/t/2718), we decided to remove the pieces of XMPP chat integration that were put in place a while ago. When we first added the chat support, we merged the implementation in an unfinished state in the hopes that the open issues will be addressed eventually, and the implementation would end up more polished. This ended up not being the case. After careful consideration and discussion, we did not manage to come up with clear reasons why we need a chat implementation, so we decided that the best way forward would be to remove it.
Although the chat was never enabled per default and was marked as experimental, some production pods did set up the integration and offered an XMPP service to their users. After this release, diaspora\* will no longer contain a chat applet, so users will no longer be able to use the webchat inside diaspora\*. The existing module that is used to enable users to authenticate to Prosody using their diaspora\* credentials will continue to work, but contact list synchronization might not work without further changes to the Prosody module, which is developed independently from this project.
## Changes around the appserver and related configuration
With this release, we switched from `unicorn` to `puma` to run our applications. For podmins running the default setup, this should significantly reduce memory usage, with similar or even better frontend performance! However, as great as this change is, some configuration changes are required.
- The `single_process_mode` and `embed_sidekiq_worker` configurations have been removed. This mode was never truly a "single-process" mode, as it just spawned the Background Workers inside the runserver. If you're using `script/server` to start your pod, this change does not impact you, but if you're running diaspora\* using other means, and you relied on this "single"-process mode, please ensure that Sidekiq workers get started.
- The format of the `listen` configuration has changed. If you have not set that field in your configuration, you can skip this. Otherwise, make sure to adjust your configuration accordingly:
- Listening to Unix sockets with a relative path has changed from `unix:tmp/diaspora.sock` into `unix://tmp/diaspora.sock`.
- Listening to Unix sockets with an absolute path has changed from `unix:/run/diaspora/diaspora.sock` to `unix:///run/diaspora/diaspora.sock`.
- Listening to a local port has changed from `127.0.0.1:3000` to `tcp://127.0.0.1:3000`.
- The `PORT` environment variable and the `-p` parameter to `script/server` have been removed. If you used that to run diaspora\* on a non-standard port, please use the `listen` configuration.
- The `unicorn_worker` configuration has been dropped. With Puma, there should not be a need to increase the number of workers above a single worker in any pod of any size.
- The `unicorn_timeout` configuration has been renamed to `web_timeout`.
- **If you don't run your pod with `script/server`**, you have to update your setup. If you previously called `bin/bundle exec unicorn -c config/unicorn.rb` to run diaspora\*, you now have to run `bin/puma -C config/puma.rb`! Please update your systemd-Units or similar accordingly.
## Yarn for frontend dependencies
We use yarn to install the frontend dependencies now, so you need to have that installed. See here for how to install it: https://yarnpkg.com/en/docs/install
## Suggested Ruby version: 3.3
We recommend setting up new pods using Ruby 3.3, and updating existing pods to this version as well. Ruby 2.7 is EOL and no longer supported.
## Changes to script/server for production pods
If you're currently running your production pod with `./script/server` in a tmux or something similar, please be careful. We made some internal changes that result in the script no longer automatically restarting the server if it crashes - instead, it will just shut down. We strongly recommend running your pod using your system's unit manager, for example with [this systemd unit](https://wiki.diasporafoundation.org/Automatic_startup_methods#Recommended:_systemd).
## Security
* Fix a potential 2FA brute force attack ([CVE-2024-0227](https://github.com/devise-two-factor/devise-two-factor/security/advisories/GHSA-chcr-x7hc-8fp8)).
Thanks to Christian Reitter ([Radically Open Security](https://www.radicallyopensecurity.com/)) and Chris MacNaughton ([Centauri Solutions](https://centauri.solutions)).
## Refactor
* Add bootstrapping for using ECMAScript 6 with automatic transpiling for compatibility [#7581](https://github.com/diaspora/diaspora/pull/7581) [#8397](https://github.com/diaspora/diaspora/pull/8397)
* Remove backporting of mention syntax [#7788](https://github.com/diaspora/diaspora/pull/7788)
* Enable Content-Security-Policy header by default [#7781](https://github.com/diaspora/diaspora/pull/7781)
* Do not show getting started after account import [#8036](https://github.com/diaspora/diaspora/pull/8036)
* Remove the JSXC/Prosody integration [#8069](https://github.com/diaspora/diaspora/pull/8069) [#8341](https://github.com/diaspora/diaspora/pull/8341)
* Replace `factory_girl` with `factory_bot` [#8218](https://github.com/diaspora/diaspora/pull/8218)
* Drop relay support [#8243](https://github.com/diaspora/diaspora/pull/8243)
* Use yarn to manage the frontend dependencies [#8364](https://github.com/diaspora/diaspora/pull/8364)
* Upgrade to latest `diaspora_federation`, remove support for old federation protocol [#8368](https://github.com/diaspora/diaspora/pull/8368)
* Remove support for `therubyracer` [#8337](https://github.com/diaspora/diaspora/issues/8337)
* Replace `unicorn` with `puma` [#8392](https://github.com/diaspora/diaspora/pull/8392)
* Drop `strip_exif` flag and always remove exif data from uploaded images [#8417](https://github.com/diaspora/diaspora/pull/8417)
* Replace `apparition` with `cuprite` [#8418](https://github.com/diaspora/diaspora/pull/8418)
* Remove `i18n-inflector-rails` for translations [#8420](https://github.com/diaspora/diaspora/pull/8420)
* Add ruby 3 support [#8423](https://github.com/diaspora/diaspora/pull/8423) [#8426](https://github.com/diaspora/diaspora/pull/8426) [#8427](https://github.com/diaspora/diaspora/pull/8427) [#8448](https://github.com/diaspora/diaspora/pull/8448)
* Add CORS headers to nodeinfo endpoints to allow for client-side fetching [#8436](https://github.com/diaspora/diaspora/pull/8436)
* Replace eye with foreman [#8449](https://github.com/diaspora/diaspora/pull/8449)
## Bug fixes
* Fix multiple photos upload progress bar [#7655](https://github.com/diaspora/diaspora/pull/7655)
* Photo-upload file picker now correctly restricts possible file types [#8205](https://github.com/diaspora/diaspora/pull/8205)
* Make inline code inside links show the link color [#8387](https://github.com/diaspora/diaspora/pull/8387)
* Fix fetching public posts on first account search was missing some data [#8390](https://github.com/diaspora/diaspora/pull/8390)
* Add redirect from mobile UI photo URLs to post when not using mobile UI [#8400](https://github.com/diaspora/diaspora/pull/8400)
* Escape mentions before markdown parsing in mobile UI [#8398](https://github.com/diaspora/diaspora/pull/8398)
* Cleanup duplicate pods in database [#8403](https://github.com/diaspora/diaspora/pull/8403)
* Fix scrolling issue after closing photo viewer on photos page [#8404](https://github.com/diaspora/diaspora/pull/8404)
* Filter unicode emojis from email headers [#8421](https://github.com/diaspora/diaspora/pull/8421)
* Do not show disabled services anymore [#8406](https://github.com/diaspora/diaspora/pull/8406)
* Update search endpoint to be aware of ignored users [#8363](https://github.com/diaspora/diaspora/pull/8363)
## Features
* Add client-side cropping of profile image uploads [#7581](https://github.com/diaspora/diaspora/pull/7581)
* Add client-site rescaling of post images if they exceed the maximum possible size [#7734](https://github.com/diaspora/diaspora/pull/7734)
* Add backend for archive import [#7660](https://github.com/diaspora/diaspora/pull/7660) [#8254](https://github.com/diaspora/diaspora/pull/8254) [#8264](https://github.com/diaspora/diaspora/pull/8264) [#8010](https://github.com/diaspora/diaspora/pull/8010) [#8260](https://github.com/diaspora/diaspora/pull/8260) [#8302](https://github.com/diaspora/diaspora/pull/8302) [#8298](https://github.com/diaspora/diaspora/pull/8298)
* For pods running PostgreSQL, make sure that no upper-case/mixed-case tags exist, and create a `lower(name)` index on tags to speed up ActsAsTaggableOn [#8206](https://github.com/diaspora/diaspora/pull/8206)
* Allow podmins/moderators to see all local public posts to improve moderation [#8232](https://github.com/diaspora/diaspora/pull/8232) [#8320](https://github.com/diaspora/diaspora/pull/8320)
* Add support for directly paste images to upload them [#8237](https://github.com/diaspora/diaspora/pull/8237)
* Add support for webp images and convert new png/jpg to webp to save space and bandwidth [#8358](https://github.com/diaspora/diaspora/pull/8358)
* Show total and active pods count in the pods list for podmins [#8383](https://github.com/diaspora/diaspora/pull/8383)
* Allow to select multiple aspects when posting on mobile [#8217](https://github.com/diaspora/diaspora/pull/8217)
* Add info links to drawer in mobile UI [#8405](https://github.com/diaspora/diaspora/pull/8405)
* Tell users that there is no help in mobile version, allow to switch to desktop [#8407](https://github.com/diaspora/diaspora/pull/8407)
* Add Smart App Banner on iOS devices [#8409](https://github.com/diaspora/diaspora/pull/8409)
* Add a more detailed modal when reporting a post or a comment [#8035](https://github.com/diaspora/diaspora/pull/8035)
* Re-introduce likes on comments [#8203](https://github.com/diaspora/diaspora/pull/8203) [#8439](https://github.com/diaspora/diaspora/pull/8439) [#8442](https://github.com/diaspora/diaspora/pull/8442)
* New redesigned registration page [#8285](https://github.com/diaspora/diaspora/pull/8285)
* Allow comments to be fetched [#8441](https://github.com/diaspora/diaspora/pull/8441)
# 0.7.18.2
To avoid potential security issues, diaspora\* now makes sure that ImageMagick image processing always runs with a restricted `policy.xml`, regardless of the global system settings.
# 0.7.18.1
## Bug fixes
* Update binstubs to fix diaspora\* being unable to start when multiple bundler versions were available [#8392](https://github.com/diaspora/diaspora/pull/8392/commits/bfd42a1914a99ac9c71ecb16bbf6fa5bb118148a)
# 0.7.18.0
## Refactor
* Fix order-dependent jasmine test failures and switch to random order [#8333](https://github.com/diaspora/diaspora/pull/8333)
* Get rid of some uses of "execute\_script" in feature specs [#8331](https://github.com/diaspora/diaspora/pull/8331)
* Fix deprecation warnings for sidekiq 7.0 [#8359](https://github.com/diaspora/diaspora/pull/8359)
* Remove entypo-rails dependency to prepare for rails 6 [#8361](https://github.com/diaspora/diaspora/pull/8361)
* Remove compass-rails dependency which is not supported anymore [#8362](https://github.com/diaspora/diaspora/pull/8362)
* Switch to sassc-rails which speeds up `assets:precompile` a lot [#8362](https://github.com/diaspora/diaspora/pull/8362)
* Remove markerb dependency which doesn't exist anymore [#8365](https://github.com/diaspora/diaspora/pull/8365)
* Upgrade to rails 6.1 [#8366](https://github.com/diaspora/diaspora/pull/8366)
* Update the suggested Ruby version to 2.7. If you run into trouble during the update and you followed our installation guides, run `rvm install 2.7`. [#8366](https://github.com/diaspora/diaspora/pull/8366)
* Upgrade to bundler 2 [#8366](https://github.com/diaspora/diaspora/pull/8366)
* Stop checking `/.well-known/host-meta`, check for `/.well-known/nodeinfo` instead [#8377](https://github.com/diaspora/diaspora/pull/8377)
* Handle NodeInfo timeouts gracefully [#8380](https://github.com/diaspora/diaspora/pull/8380)
## Bug fixes
* Fix that no mails were sent after photo export [#8365](https://github.com/diaspora/diaspora/pull/8365)
* Fix people with quotes in the name causing issues with mail sender [#8365](https://github.com/diaspora/diaspora/pull/8365)
## Features
* Render posts and comments as HTML in HTML mails [#8365](https://github.com/diaspora/diaspora/pull/8365)
* Add NodeInfo 2.1 support and also read newer versions of NodeInfo [#8379](https://github.com/diaspora/diaspora/pull/8379)
# 0.7.17.0
## Security
* Bump Rails to 5.2.7 to address [CVE-2022-22577](https://discuss.rubyonrails.org/t/cve-2022-22577-possible-xss-vulnerability-in-action-pack/80533) and [CVE-2022-27777](https://discuss.rubyonrails.org/t/cve-2022-27777-possible-xss-vulnerability-in-action-view-tag-helpers/80534) [#8350](https://github.com/diaspora/diaspora/pull/8350)
* Do not allow the user to mass assign their own password and 2fa settings alongside other parameters. Reported by Breno Vitório (@brenu) - thank you! [#8351](https://github.com/diaspora/diaspora/pull/8351)
## Bug fixes
* Don't suggest to retry exports on failure [#8343](https://github.com/diaspora/diaspora/pull/8343)
# 0.7.16.0
## Security
* Update rails to fix [CVE-2022-23633](https://github.com/advisories/GHSA-wh98-p28r-vrc9) [#8336](https://github.com/diaspora/diaspora/pull/8336)
## Refactor
* Cache local posts/comments count for statistics [#8241](https://github.com/diaspora/diaspora/pull/8241)
* Fix html-syntax in some handlebars templates [#8251](https://github.com/diaspora/diaspora/pull/8251)
* Remove `chat_enabled` flag from archive export [#8265](https://github.com/diaspora/diaspora/pull/8265)
* Change thumbnails in image slideshow to squares [#8275](https://github.com/diaspora/diaspora/pull/8275)
* Replace uglifier with terser for JS compression [#8268](https://github.com/diaspora/diaspora/pull/8268)
## Bug fixes
* Ensure the log folder exists [#8287](https://github.com/diaspora/diaspora/pull/8287)
* Limit name length in header [#8313](https://github.com/diaspora/diaspora/pull/8313)
* Fix fallback avatar in hovercards [#8316](https://github.com/diaspora/diaspora/pull/8316)
* Use old person private key for export if relayable author migrated away [#8310](https://github.com/diaspora/diaspora/pull/8310)
## Features
* Add tags to tumblr posts [#8244](https://github.com/diaspora/diaspora/pull/8244)
* Add blocks to the archive export [#8263](https://github.com/diaspora/diaspora/pull/8263)
* Allow points and dashes in the username [#8266](https://github.com/diaspora/diaspora/pull/8266)
* Add support for footnotes in markdown [#8277](https://github.com/diaspora/diaspora/pull/8277)
* Send `AccountMigration` if receiving message to a migrated account [#8288](https://github.com/diaspora/diaspora/pull/8288)
* Add podmin mail address to the footer [#8242](https://github.com/diaspora/diaspora/pull/8242)
* Add username to password-reset mail [#8037](https://github.com/diaspora/diaspora/pull/8037)
* Resend account migration and deletion for closed recipients [#8309](https://github.com/diaspora/diaspora/pull/8309)
* Add sharing status to hovercards [#8317](https://github.com/diaspora/diaspora/pull/8317)
* Migrate photo URLs and cleanup old uploaded photos [#8314](https://github.com/diaspora/diaspora/pull/8314)
# 0.7.15.0
## Refactor
* Replaced some `http://` links in the UI with their `https://` counterparts [#8207](https://github.com/diaspora/diaspora/pull/8207)
* Testing: Replaced phantomjs with headless Chrome/Chromium [#8234](https://github.com/diaspora/diaspora/pull/8234)
## Bug fixes
* Update comment counter when deleting a comment in the Single Post View [#7938](https://github.com/diaspora/diaspora/pull/7938)
* Link diaspora only poduptime list [#8174](https://github.com/diaspora/diaspora/pull/8174)
* Delete a user's invitation code during account deletion [#8202](https://github.com/diaspora/diaspora/pull/8202)
* Bump mimemagic [#8231](https://github.com/diaspora/diaspora/pull/8231)
* Removed support for defunct Uni Heidelberg OSM tile server, Mapbox is now required if you want to show maps [#8215](https://github.com/diaspora/diaspora/pull/8215)
* Render only two fractional digits in the posts per user/day admin statistics [#8227](https://github.com/diaspora/diaspora/pull/8227)
* Make aspect dropdowns scrollable [#8213](https://github.com/diaspora/diaspora/pull/8213)
* Fix `Photo#ownserhip_of_status_message` validation [#8214](https://github.com/diaspora/diaspora/pull/8214)
## Features
* Support and recommend TOML as configuration format [#8132](https://github.com/diaspora/diaspora/pull/8132)
# 0.7.14.0
## Refactor
* Update the suggested Ruby version to 2.6. If you run into trouble during the update and you followed our installation guides, run `rvm install 2.6`. [#7929](https://github.com/diaspora/diaspora/pull/7929)
## Bug fixes
* Don't link to deleted users in admin user stats [#8063](https://github.com/diaspora/diaspora/pull/8063)
* Properly validate a profile's gender field length instead of failing with a database error. [#8127](https://github.com/diaspora/diaspora/pull/8127)
## Features
# 0.7.13.0
## Security
* Fixes [USN-4274-1](https://usn.ubuntu.com/4274-1/), a potential Denial-of-Service vulnerability in Nokogiri. [#8108](https://github.com/diaspora/diaspora/pull/8108)
## Refactor
* Set better example values for unicorn stdout/stderr log settings [#8058](https://github.com/diaspora/diaspora/pull/8058)
* Replace dependency on rails-assets.org with custom gems cache at gems.diasporafoundation.org [#8087](https://github.com/diaspora/diaspora/pull/8087)
## Bug fixes
* Fix error while trying to fetch some sites with invalid OpenGraph data [#8049](https://github.com/diaspora/diaspora/pull/8049)
* Don't show sign up link on mobile when registrations are disabled [#8060](https://github.com/diaspora/diaspora/pull/8060)
## Features
* Add cronjob to cleanup pending photos which were never posted [#8041](https://github.com/diaspora/diaspora/pull/8041)
# 0.7.12.0
## Refactor
* Harmonize markdown titles sizes [#8029](https://github.com/diaspora/diaspora/pull/8029)
## Bug fixes
* Improve handling of mixed case hostnames while fetching OpenGraph data [#8021](https://github.com/diaspora/diaspora/pull/8021)
* Fix "remember me" with two factor authentication enabled [#8031](https://github.com/diaspora/diaspora/pull/8031)
## Features
* Add line mentioning diaspora\* on the splash page [#7966](https://github.com/diaspora/diaspora/pull/7966)
* Improve communication about signing up on closed pods [#7896](https://github.com/diaspora/diaspora/pull/7896)
# 0.7.11.0
## Refactor
* Enable paranoid mode for devise [#8003](https://github.com/diaspora/diaspora/pull/8003)
* Refactor likes cucumber test [#8002](https://github.com/diaspora/diaspora/pull/8002)
## Bug fixes
* Fix old photos without remote url for export [#8012](https://github.com/diaspora/diaspora/pull/8012)
## Features
* Add a manifest.json file as a first step to make diaspora\* a Progressive Web App [#7998](https://github.com/diaspora/diaspora/pull/7998)
* Allow `web+diaspora://` links to link to a profile with only the diaspora ID [#8000](https://github.com/diaspora/diaspora/pull/8000)
* Support TOTP two factor authentication [#7751](https://github.com/diaspora/diaspora/pull/7751)
# 0.7.10.0
## Refactor
* Replace dandelion.jpg with a public domain photo [#7976](https://github.com/diaspora/diaspora/pull/7976)
## Bug fixes
* Fix incorrect post sorting on tag streams and tag searches for tags containing the word "activity" [#7959](https://github.com/diaspora/diaspora/issues/7959)
# 0.7.9.0
## Refactor
* Improve public stream performance and cleanup unused indexes [#7944](https://github.com/diaspora/diaspora/pull/7944)
* Improve wording of "Toggle mobile" [#7926](https://github.com/diaspora/diaspora/pull/7926)
## Bug fixes
* Do not autofollow back a user you are ignoring [#7913](https://github.com/diaspora/diaspora/pull/7913)
* Fix photos gallery when too many thumbnails are shown [#7943](https://github.com/diaspora/diaspora/pull/7943)
* Fix extended profile visibility switch showing the wrong state [#7955](https://github.com/diaspora/diaspora/pull/7955)
## Features
* Support ignore users on mobile [#7884](https://github.com/diaspora/diaspora/pull/7884)
# 0.7.8.0
## Refactor
* Make setting up a development environment 9001% easier by adding a Docker-based setup [#7870](https://github.com/diaspora/diaspora/pull/7870)
* Improve `web+diaspora://` handler description [#7909](https://github.com/diaspora/diaspora/pull/7909)
* Move comment timestamp next to author name [#7905](https://github.com/diaspora/diaspora/pull/7905)
* Sharpen small and medium thumbnails [#7924](https://github.com/diaspora/diaspora/pull/7924)
* Show full-res image in Desktop's full-screen image view [#7890](https://github.com/diaspora/diaspora/pull/7890)
## Bug fixes
* Ignore invalid URLs for camo [#7922](https://github.com/diaspora/diaspora/pull/7922)
* Unliking a post did not update the participation icon without a reload [#7882](https://github.com/diaspora/diaspora/pull/7882)
* Fix broken Instagram embedding [#7920](https://github.com/diaspora/diaspora/pull/7920)
## Features
* Add the ability to assign roles in the admin panel [#7868](https://github.com/diaspora/diaspora/pull/7868)
* Improve memory usage with libjemalloc if available [#7919](https://github.com/diaspora/diaspora/pull/7919)
# 0.7.7.1
Fixes a potential cross-site scripting issue with maliciously crafted OpenGraph metadata on the mobile interface.
# 0.7.7.0
## Refactor
* Remove mention of deprecated `statistic.json` [#7867](https://github.com/diaspora/diaspora/pull/7867)
* Add quotes in `database.yml.example` to fields that may contain special characters [#7875](https://github.com/diaspora/diaspora/pull/7875)
* Removed broken, and thus deprecated, Facebook integration [#7874](https://github.com/diaspora/diaspora/pull/7874)
## Bug fixes
* Add compatibility with macOS to `script/configure_bundler` [#7830](https://github.com/diaspora/diaspora/pull/7830)
* Fix comment and like notifications on posts without text [#7857](https://github.com/diaspora/diaspora/pull/7857) [#7853](https://github.com/diaspora/diaspora/pull/7853)
* Fix issue with some language fallbacks not working correctly [#7861](https://github.com/diaspora/diaspora/pull/7861)
* Make sure URLs are encoded before sending them to camo [#7871](https://github.com/diaspora/diaspora/pull/7871)
## Features
* Add `web+diaspora://` link handler [#7826](https://github.com/diaspora/diaspora/pull/7826)
# 0.7.6.0
## Refactor
* Add unique index to poll participations on `poll_id` and `author_id` [#7798](https://github.com/diaspora/diaspora/pull/7798)
* Add 'completed at' date to account migrations [#7805](https://github.com/diaspora/diaspora/pull/7805)
* Handle duplicates for TagFollowing on account merging [#7807](https://github.com/diaspora/diaspora/pull/7807)
* Add link to the pod in the email footer [#7814](https://github.com/diaspora/diaspora/pull/7814)
## Bug fixes
* Fix compatibility with newer glibc versions [#7828](https://github.com/diaspora/diaspora/pull/7828)
* Allow fonts to be served from asset host in CSP [#7825](https://github.com/diaspora/diaspora/pull/7825)
## Features
* Support fetching StatusMessage by Poll GUID [#7815](https://github.com/diaspora/diaspora/pull/7815)
* Always include link to diaspora in facebook cross-posts [#7774](https://github.com/diaspora/diaspora/pull/7774)
# 0.7.5.0
## Refactor
* Remove the 'make contacts in this aspect visible to each other' option [#7769](https://github.com/diaspora/diaspora/pull/7769)
* Remove the requirement to have at least two users to disable the /podmin redirect [#7783](https://github.com/diaspora/diaspora/pull/7783)
* Randomize start times of daily Sidekiq-Cron jobs [#7787](https://github.com/diaspora/diaspora/pull/7787)
## Bug fixes
* Prefill conversation form on contacts page only with mutual contacts [#7744](https://github.com/diaspora/diaspora/pull/7744)
* Fix profiles sometimes not loading properly in background tabs [#7740](https://github.com/diaspora/diaspora/pull/7740)
* Show error message when creating posts with invalid aspects [#7742](https://github.com/diaspora/diaspora/pull/7742)
* Fix mention syntax backport for two immediately consecutive mentions [#7777](https://github.com/diaspora/diaspora/pull/7777)
* Fix link to 'make yourself an admin' [#7783](https://github.com/diaspora/diaspora/pull/7783)
* Fix calculation of content lengths when cross-posting to twitter [#7791](https://github.com/diaspora/diaspora/pull/7791)
## Features
* Make public stream accessible for logged out users [#7775](https://github.com/diaspora/diaspora/pull/7775)
* Add account-merging support when receiving an account migration [#7803](https://github.com/diaspora/diaspora/pull/7803)
# 0.7.4.1
Fixes a possible cross-site scripting issue with maliciously crafted OpenGraph metadata.
# 0.7.4.0
## Refactor
* Don't print a warning when starting the server outside a Git repo [#7712](https://github.com/diaspora/diaspora/pull/7712)
* Make script/server work on readonly filesystems [#7719](https://github.com/diaspora/diaspora/pull/7719)
* Add camo paths to the robots.txt [#7726](https://github.com/diaspora/diaspora/pull/7726)
## Bug fixes
* Prevent duplicate mention notifications when the post is received twice [#7721](https://github.com/diaspora/diaspora/pull/7721)
* Fixed a compatiblitiy issue with non-diaspora\* webfingers [#7718](https://github.com/diaspora/diaspora/pull/7718)
* Don't retry federation for accounts without a valid public key [#7717](https://github.com/diaspora/diaspora/pull/7717)
* Fix stream generation for tagged posts with many followed tags [#7715](https://github.com/diaspora/diaspora/pull/7715)
* Fix incomplete Occitan date localizations [#7731](https://github.com/diaspora/diaspora/pull/7731)
## Features
* Add basic html5 audio/video embedding support [#6418](https://github.com/diaspora/diaspora/pull/6418)
* Add the back-to-top button to all pages [#7729](https://github.com/diaspora/diaspora/pull/7729)
# 0.7.3.1
Re-updating the German translations to fix some UX issues that were introduced by recent translation efforts.
# 0.7.3.0
## Refactor
* Work on the data downloads: Fixed general layout of buttons, added a timestamp and implemented auto-deletion of old exports [#7684](https://github.com/diaspora/diaspora/pull/7684)
* Increase Twitter character limit to 280 [#7694](https://github.com/diaspora/diaspora/pull/7694)
* Improve password autocomplete with password managers [#7642](https://github.com/diaspora/diaspora/pull/7642)
* Remove the limit of participants in private conversations [#7705](https://github.com/diaspora/diaspora/pull/7705)
* Send blocks to the blocked persons pod for better UX [#7705](https://github.com/diaspora/diaspora/pull/7705)
* Send a dummy participation on all incoming public posts to increase interaction consistency [#7708](https://github.com/diaspora/diaspora/pull/7708)
## Bug fixes
* Fix invite link on the contacts page when the user has no contacts [#7690](https://github.com/diaspora/diaspora/pull/7690)
* Fix the mobile bookmarklet when called without parameters [#7698](https://github.com/diaspora/diaspora/pull/7698)
* Properly build the #newhere message for people who got invited [#7702](https://github.com/diaspora/diaspora/pull/7702)
* Fix the admin report view for posts without text [#7706](https://github.com/diaspora/diaspora/pull/7706)
* Upgrade Nokogiri to fix [a disclosed vulnerability in libxml2](https://github.com/sparklemotion/nokogiri/issues/1714)
## Features
* Check if redis is running in script/server [#7685](https://github.com/diaspora/diaspora/pull/7685)
# 0.7.2.1
Fixes notifications when people remove their birthday date [#7691](https://github.com/diaspora/diaspora/pull/7691)
# 0.7.2.0
## Bug fixes
* Ignore invalid `diaspora://` links [#7652](https://github.com/diaspora/diaspora/pull/7652)
* Fix deformed avatar in hovercards [#7656](https://github.com/diaspora/diaspora/pull/7656)
* Fix default aspects on profile page and bookmarklet publisher [#7679](https://github.com/diaspora/diaspora/issues/7679)
## Features
* Add birthday notifications [#7624](https://github.com/diaspora/diaspora/pull/7624)
# 0.7.1.1
Fixes an issue with installing and running diaspora\* with today released bundler v1.16.0.
# 0.7.1.0
## Ensure account deletions are run
There were some issues causing accounts deletions to not properly perform in some cases, see
[#7631](https://github.com/diaspora/diaspora/issues/7631) and [#7639](https://github.com/diaspora/diaspora/pull/7639).
To ensure these are reexecuted properly, please run `RAILS_ENV=production bin/rake migrations:run_account_deletions`
after you've upgraded.
## Refactor
* Remove title from profile photo upload button [#7551](https://github.com/diaspora/diaspora/pull/7551)
* Remove Internet Explorer workarounds [#7557](https://github.com/diaspora/diaspora/pull/7557)
* Sort notifications by last interaction [#7568](https://github.com/diaspora/diaspora/pull/7568) [#7648](https://github.com/diaspora/diaspora/pull/7648)
* Remove tiff support from photos [#7576](https://github.com/diaspora/diaspora/pull/7576)
* Remove reference from reshares when original post is deleted [#7578](https://github.com/diaspora/diaspora/pull/7578)
* Merge migrations from before 0.6.0.0 to CreateSchema [#7580](https://github.com/diaspora/diaspora/pull/7580)
* Remove auto detection of languages with highlightjs [#7591](https://github.com/diaspora/diaspora/pull/7591)
* Move enable/disable notification icon [#7592](https://github.com/diaspora/diaspora/pull/7592)
* Use Bootstrap 3 progress-bar for polls [#7600](https://github.com/diaspora/diaspora/pull/7600)
* Enable frozen string literals [#7595](https://github.com/diaspora/diaspora/pull/7595)
* Remove `rails_admin_histories` table [#7597](https://github.com/diaspora/diaspora/pull/7597)
* Optimize memory usage on profile export [#7627](https://github.com/diaspora/diaspora/pull/7627)
* Limit the number of parallel exports [#7629](https://github.com/diaspora/diaspora/pull/7629)
* Reduce memory usage for account deletion [#7639](https://github.com/diaspora/diaspora/pull/7639)
## Bug fixes
* Fix displaying polls with long answers [#7579](https://github.com/diaspora/diaspora/pull/7579)
* Fix S3 support [#7566](https://github.com/diaspora/diaspora/pull/7566)
* Fix mixed username and timestamp with LTR/RTL scripts [#7575](https://github.com/diaspora/diaspora/pull/7575)
* Prevent users from zooming in IE Mobile [#7589](https://github.com/diaspora/diaspora/pull/7589)
* Fix recipient prefill on contacts and profile page [#7599](https://github.com/diaspora/diaspora/pull/7599)
* Display likes and reshares without login [#7583](https://github.com/diaspora/diaspora/pull/7583)
* Fix invalid data in the database for user data export [#7614](https://github.com/diaspora/diaspora/pull/7614)
* Fix local migration run without old private key [#7558](https://github.com/diaspora/diaspora/pull/7558)
* Fix export not downloadable because the filename was resetted on access [#7622](https://github.com/diaspora/diaspora/pull/7622)
* Delete invalid oEmbed caches with binary titles [#7620](https://github.com/diaspora/diaspora/pull/7620)
* Delete invalid diaspora IDs from friendica [#7630](https://github.com/diaspora/diaspora/pull/7630)
* Cleanup relayables where the signature is missing [#7637](https://github.com/diaspora/diaspora/pull/7637)
* Avoid page to jump to top after a post deletion [#7638](https://github.com/diaspora/diaspora/pull/7638)
* Handle duplicate account deletions [#7639](https://github.com/diaspora/diaspora/pull/7639)
* Handle duplicate account migrations [#7641](https://github.com/diaspora/diaspora/pull/7641)
* Handle bugs related to missing users [#7632](https://github.com/diaspora/diaspora/pull/7632)
* Cleanup empty signatures [#7644](https://github.com/diaspora/diaspora/pull/7644)
## Features
* Ask for confirmation when leaving a submittable comment field [#7530](https://github.com/diaspora/diaspora/pull/7530)
* Show users vote in polls [#7550](https://github.com/diaspora/diaspora/pull/7550)
* Add explanation of ignore function to in-app help section [#7585](https://github.com/diaspora/diaspora/pull/7585)
* Add camo information to NodeInfo [#7617](https://github.com/diaspora/diaspora/pull/7617)
* Add support for `diaspora://` links [#7625](https://github.com/diaspora/diaspora/pull/7625)
* Add support to relay likes for comments [#7625](https://github.com/diaspora/diaspora/pull/7625)
* Implement RFC 7033 WebFinger [#7625](https://github.com/diaspora/diaspora/pull/7625)
# 0.7.0.1
Update nokogiri to fix [multiple libxml2 vulnerabilities](https://usn.ubuntu.com/usn/usn-3424-1/).
# 0.7.0.0
## Supported Ruby versions
This release recommends using Ruby 2.4, while retaining Ruby 2.3 as an officially supported version.
Ruby 2.1 is no longer officially supported.
## Delete public/.well-known/
Before upgrading, please check if your `public/` folder contains a hidden `.well-known/` folder.
If so, please delete it since it will prevent the federation from working properly.
## Refactor
* Make the mention syntax more flexible [#7305](https://github.com/diaspora/diaspora/pull/7305)
* Display @ before mentions [#7324](https://github.com/diaspora/diaspora/pull/7324)
* Simplify mentions in the publisher [#7302](https://github.com/diaspora/diaspora/pull/7302)
* Remove chartbeat and mixpanel support [#7280](https://github.com/diaspora/diaspora/pull/7280)
* Upgrade to jQuery 3 [#7303](https://github.com/diaspora/diaspora/pull/7303)
* Add i18n for color themes [#7369](https://github.com/diaspora/diaspora/pull/7369)
* Remove deprecated statistics.json [#7399](https://github.com/diaspora/diaspora/pull/7399)
* Always link comment count text on mobile [#7483](https://github.com/diaspora/diaspora/pull/7483)
* Switch to new federation protocol [#7436](https://github.com/diaspora/diaspora/pull/7436)
* Send public profiles publicly [#7501](https://github.com/diaspora/diaspora/pull/7501)
* Change sender for mails [#7495](https://github.com/diaspora/diaspora/pull/7495)
* Move back to top to the right to avoid misclicks [#7516](https://github.com/diaspora/diaspora/pull/7516)
* Include count in mobile post action link [#7520](https://github.com/diaspora/diaspora/pull/7520)
* Update the user data export archive format [#6726](https://github.com/diaspora/diaspora/pull/6726)
* Use id as fallback when sorting posts [#7523](https://github.com/diaspora/diaspora/pull/7523)
* Remove no-posts-info when adding posts to the stream [#7523](https://github.com/diaspora/diaspora/pull/7523)
* Upgrade to rails 5.1 [#7514](https://github.com/diaspora/diaspora/pull/7514)
* Refactoring single post view interactions [#7182](https://github.com/diaspora/diaspora/pull/7182)
* Update help pages [#7528](https://github.com/diaspora/diaspora/pull/7528)
* Disable rendering logging in production [#7529](https://github.com/diaspora/diaspora/pull/7529)
* Add some missing indexes and cleanup the database if needed [#7533](https://github.com/diaspora/diaspora/pull/7533)
* Remove avatar, name, timestamp and interactions from publisher preview [#7536](https://github.com/diaspora/diaspora/pull/7536)
## Bug fixes
* Fix height too high on mobile SPV [#7480](https://github.com/diaspora/diaspora/pull/7480)
* Improve stream when ignoring a person who posts a lot of tagged posts [#7503](https://github.com/diaspora/diaspora/pull/7503)
* Fix order of comments across pods [#7436](https://github.com/diaspora/diaspora/pull/7436)
* Prevent publisher from closing in preview mode [#7518](https://github.com/diaspora/diaspora/pull/7518)
* Increase reshare counter after reshare on mobile [#7520](https://github.com/diaspora/diaspora/pull/7520)
* Reset stuck exports and handle errors [#7535](https://github.com/diaspora/diaspora/pull/7535)
## Features
* Add support for mentions in comments to the backend [#6818](https://github.com/diaspora/diaspora/pull/6818)
* Add support for new mention syntax [#7300](https://github.com/diaspora/diaspora/pull/7300) [#7394](https://github.com/diaspora/diaspora/pull/7394)
* Render mentions as links in comments [#7327](https://github.com/diaspora/diaspora/pull/7327)
* Add support for mentions in comments to the front-end [#7386](https://github.com/diaspora/diaspora/pull/7386)
* Support direct links to comments on mobile [#7508](https://github.com/diaspora/diaspora/pull/7508)
* Add inviter first and last name in the invitation e-mail [#7484](https://github.com/diaspora/diaspora/pull/7484)
* Add markdown editor for comments and conversations [#7482](https://github.com/diaspora/diaspora/pull/7482)
* Improve responsive header in desktop version [#7509](https://github.com/diaspora/diaspora/pull/7509)
* Support cmd+enter to submit posts, comments and conversations [#7524](https://github.com/diaspora/diaspora/pull/7524)
* Add markdown editor for posts, comments and conversations on mobile [#7235](https://github.com/diaspora/diaspora/pull/7235)
* Mark as "Mobile Web App Capable" on Android [#7534](https://github.com/diaspora/diaspora/pull/7534)
* Add support for receiving account migrations [#6750](https://github.com/diaspora/diaspora/pull/6750)
# 0.6.7.0
## Refactor
* Cleanup some translations [#7465](https://github.com/diaspora/diaspora/pull/7465)
## Features
* Change email without confirmation when mail is disabled [#7455](https://github.com/diaspora/diaspora/pull/7455)
* Warn users if they leave the profile editing page with unsaved changes [#7473](https://github.com/diaspora/diaspora/pull/7473)
* Add admin pages to the mobile interface [#7295](https://github.com/diaspora/diaspora/pull/7295)
* Add links to discourse to footer and sidebar [#7446](https://github.com/diaspora/diaspora/pull/7446)
# 0.6.6.0
## Refactor
* Remove rails\_admin [#7440](https://github.com/diaspora/diaspora/pull/7440)
* Use guid instead of id at permalink and in SPV [#7453](https://github.com/diaspora/diaspora/pull/7453)
## Bug fixes
* Make photo upload button hover text translatable [#7429](https://github.com/diaspora/diaspora/pull/7429)
* Fix first comment in mobile view with french locale [#7441](https://github.com/diaspora/diaspora/pull/7441)
* Use post page title and post author in atom feed [#7420](https://github.com/diaspora/diaspora/pull/7420)
* Handle broken public keys when receiving posts [#7448](https://github.com/diaspora/diaspora/pull/7448)
* Fix welcome message when podmin is set to an invalid username [#7452](https://github.com/diaspora/diaspora/pull/7452)
## Features
* Add support for Nodeinfo 2.0 [#7447](https://github.com/diaspora/diaspora/pull/7447)
# 0.6.5.0
## Refactor
* Remove unused setPreload function [#7354](https://github.com/diaspora/diaspora/pull/7354)
* Remove jQuery deprecations [#7356](https://github.com/diaspora/diaspora/pull/7356)
* Use empty selector where "#" was used as a selector before (prepare jQuery 3 upgrade) [#7372](https://github.com/diaspora/diaspora/pull/7372)
* Increase maximal height of large thumbnail on mobile [#7383](https://github.com/diaspora/diaspora/pull/7383)
* Reduce conversation recipient size [#7376](https://github.com/diaspora/diaspora/pull/7376)
* Cleanup rtl css [#7374](https://github.com/diaspora/diaspora/pull/7374)
* Increase visual spacing between list items [#7401](https://github.com/diaspora/diaspora/pull/7401)
* Remove unused gem and cucumber step [#7410](https://github.com/diaspora/diaspora/pull/7410)
* Disable CSP header when `report_only` and no `report_uri` is set [#7367](https://github.com/diaspora/diaspora/pull/7367)
## Bug fixes
* Don't hide posts when blocking someone from the profile [#7379](https://github.com/diaspora/diaspora/pull/7379)
* Disable autocomplete for the conversation form recipient input [#7375](https://github.com/diaspora/diaspora/pull/7375)
* Fix sharing indicator on profile page for blocked users [#7382](https://github.com/diaspora/diaspora/pull/7382)
* Remove post only after a successful deletion on the server [#7385](https://github.com/diaspora/diaspora/pull/7385)
* Fix an issue where pod admins could get logged out when using sidekiq-web [#7395](https://github.com/diaspora/diaspora/pull/7395)
* Add avatar fallback for typeahead and conversations [#7414](https://github.com/diaspora/diaspora/pull/7414)
## Features
* Add links to liked and commented pages [#5502](https://github.com/diaspora/diaspora/pull/5502)
# 0.6.4.1
Fixes a possible Remote Code Execution ([CVE-2016-4658](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4658)) and a possible DoS ([CVE-2016-5131](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5131)) by updating Nokogiri, which in turn updates libxml2.
# 0.6.4.0
## Refactor
* Unify link colors [#7318](https://github.com/diaspora/diaspora/pull/7318)
* Increase time to wait before showing the hovercard [#7319](https://github.com/diaspora/diaspora/pull/7319)
* Remove some unused color-theme overrides [#7325](https://github.com/diaspora/diaspora/pull/7325)
* Change color of author-name on hover [#7326](https://github.com/diaspora/diaspora/pull/7326)
* Add like and reshare services [#7337](https://github.com/diaspora/diaspora/pull/7337)
## Bug fixes
* Fix path to `bundle` in `script/server` [#7281](https://github.com/diaspora/diaspora/pull/7281)
* Update comment in database example config [#7282](https://github.com/diaspora/diaspora/pull/7282)
* Make the \#newhere post public again [#7311](https://github.com/diaspora/diaspora/pull/7311)
* Remove whitespace from author link [#7330](https://github.com/diaspora/diaspora/pull/7330)
* Fix autosize in modals [#7339](https://github.com/diaspora/diaspora/pull/7339)
* Only display invite link on contacts page if invitations are enabled [#7342](https://github.com/diaspora/diaspora/pull/7342)
* Fix regex for hashtags for some languages [#7350](https://github.com/diaspora/diaspora/pull/7350)
* Create asterisk.png without digest after precompile [#7322](https://github.com/diaspora/diaspora/pull/7322)
## Features
* Add support for [Liberapay](https://liberapay.com) donations [#7290](https://github.com/diaspora/diaspora/pull/7290)
* Added a link to the community guidelines :) [#7298](https://github.com/diaspora/diaspora/pull/7298)
# 0.6.3.0
## Refactor
* Increase the spacing above and below post contents [#7267](https://github.com/diaspora/diaspora/pull/7267)
* Replace fileuploader-custom with FineUploader [#7083](https://github.com/diaspora/diaspora/pull/7083)
* Always show mobile reaction counts [#7207](https://github.com/diaspora/diaspora/pull/7207)
* Refactor mobile alerts for error responses [#7227](https://github.com/diaspora/diaspora/pull/7227)
* Switch content and given reason in the reports overview [#7180](https://github.com/diaspora/diaspora/pull/7180)
## Bug fixes
* Fix background color of year on notifications page with dark theme [#7263](https://github.com/diaspora/diaspora/pull/7263)
* Fix jasmine tests in firefox [#7246](https://github.com/diaspora/diaspora/pull/7246)
* Prevent scroll to top when clicking 'mark all as read' in the notification dropdown [#7253](https://github.com/diaspora/diaspora/pull/7253)
* Update existing notifications in dropdown on fetch [#7270](https://github.com/diaspora/diaspora/pull/7270)
* Fix link to post on mobile photo page [#7274](https://github.com/diaspora/diaspora/pull/7274)
* Fix some background issues on dark mobile themes [#7278](https://github.com/diaspora/diaspora/pull/7278)
## Features
* Add links to the aspects and followed tags pages on mobile [#7265](https://github.com/diaspora/diaspora/pull/7265)
* diaspora\* is now available in Gàidhlig, Occitan, and Schwiizerdütsch
# 0.6.2.0
## Refactor

View File

@@ -1,6 +0,0 @@
web1: env RAILS_ENV=integration1 bundle exec rails s -p 3001
worker1: env RAILS_ENV=integration1 VVERBOSE=1 QUEUE=* bundle exec rake resque:work
redis1: env RAILS_ENV=integration1 redis-server ./redis-integration1.conf
web2: env RAILS_ENV=integration2 bundle exec rails s -p 3002
worker2: env RAILS_ENV=integration2 VVERBOSE=1 QUEUE=* bundle exec rake resque:work
redis2: env RAILS_ENV=integration2 redis-server ./redis-integration2.conf

274
Gemfile
View File

@@ -1,218 +1,187 @@
# frozen_string_literal: true
source "https://rubygems.org"
gem "rails", "4.2.7.1"
gem "rails", "6.1.7.8"
# needed for actionmailer, can be removed when upgrading to rails 7
gem "net-imap", require: false
gem "net-pop", require: false
gem "net-smtp", require: false
# Legacy Rails features, remove me!
# responders (class level)
gem "responders", "2.3.0"
gem "responders", "3.1.1"
# Appserver
gem "unicorn", "5.1.0", require: false
gem "unicorn-worker-killer", "0.4.4"
gem "puma", "6.4.2", require: false
# Federation
gem "diaspora_federation-rails", "0.1.5"
gem "diaspora_federation-json_schema", "1.1.0"
gem "diaspora_federation-rails", "1.1.0"
# API and JSON
gem "acts_as_api", "0.4.3"
gem "json", "1.8.3"
gem "json-schema", "2.7.0"
gem "acts_as_api", "1.0.1"
gem "json", "2.7.2"
gem "json-schema", "4.3.0"
gem "yajl-ruby", "1.4.3"
# Authentication
gem "devise", "4.2.0"
gem "devise", "4.9.4"
gem "devise_lastseenable", "0.0.6"
gem "devise-two-factor", "4.1.0"
gem "rqrcode", "2.2.0"
# Captcha
gem "simple_captcha2", "0.4.0", require: "simple_captcha"
gem "simple_captcha2", "0.5.0", require: "simple_captcha"
# Background processing
gem "sidekiq", "4.2.2"
gem "redis", "4.8.1"
gem "sidekiq", "6.5.12"
# Scheduled processing
gem "sidekiq-cron", "0.4.4"
gem "sidekiq-cron", "1.12.0"
# Compression
gem "uglifier", "3.0.2"
gem "terser", "1.2.2"
# Configuration
gem "configurate", "0.3.1"
gem "configurate", "0.6.0"
gem "toml-rb", "3.0.1"
# Cross-origin resource sharing
gem "rack-cors", "0.4.0", require: "rack/cors"
gem "rack-cors", "2.0.2", require: "rack/cors"
# CSS
gem "bootstrap-sass", "3.3.7"
gem "compass-rails", "2.0.5"
gem "sass-rails", "5.0.6"
gem "autoprefixer-rails", "6.5.1"
gem "bootstrap-switch-rails", "3.3.3"
gem "autoprefixer-rails", "10.4.16.0"
gem "bootstrap-sass", "3.4.1"
gem "bootstrap-switch-rails", "3.3.3" # 3.3.4 and 3.3.5 is broken, see https://github.com/Bttstrp/bootstrap-switch/issues/691
gem "sassc-rails", "2.1.2"
gem "sprockets-rails", "3.4.2"
# Database
group :mysql, optional: true do
gem "mysql2", "0.4.4"
gem "mysql2", "0.5.6"
end
group :postgresql, optional: true do
gem "pg", "0.19.0"
gem "pg", "1.5.6"
end
gem "activerecord-import", "0.15.0"
gem "activerecord-import", "1.7.0"
# File uploading
gem "fog", "1.38.0", require: "fog/aws"
gem "carrierwave", "0.11.2"
gem "mini_magick", "4.5.1"
gem "carrierwave", "3.0.7"
gem "fog-aws", "3.22.0"
gem "mini_magick", "4.12.0"
# GUID generation
gem "uuid", "2.3.8"
# Icons
gem "entypo-rails", "3.0.0.pre.rc2"
gem "uuid", "2.3.9"
# JavaScript
gem "backbone-on-rails", "1.2.0.0"
gem "handlebars_assets", "0.23.1"
gem "jquery-rails", "4.2.1"
gem "jquery-ui-rails", "5.0.5"
gem "js_image_paths", "0.1.0"
gem "js-routes", "1.2.9"
source "https://rails-assets.org" do
gem "rails-assets-jquery", "2.2.4" # Should be kept in sync with jquery-rails
gem "rails-assets-markdown-it", "8.0.0"
gem "rails-assets-markdown-it-hashtag", "0.4.0"
gem "rails-assets-markdown-it-diaspora-mention", "1.0.0"
gem "rails-assets-markdown-it-sanitizer", "0.4.3"
gem "rails-assets-markdown-it--markdown-it-for-inline", "0.1.1"
gem "rails-assets-markdown-it-sub", "1.0.0"
gem "rails-assets-markdown-it-sup", "1.0.0"
gem "rails-assets-highlightjs", "9.7.0"
gem "rails-assets-bootstrap-markdown", "2.10.0"
gem "rails-assets-corejs-typeahead", "1.0.1"
# jQuery plugins
gem "rails-assets-jquery-placeholder", "2.3.1"
gem "rails-assets-jquery-textchange", "0.2.3"
gem "rails-assets-perfect-scrollbar", "0.6.12"
gem "rails-assets-autosize", "3.0.17"
gem "rails-assets-blueimp-gallery", "2.21.3"
end
gem "babel-transpiler", "0.7.0"
gem "handlebars_assets", "0.23.9"
gem "jquery-rails", "4.6.0"
gem "jquery-ui-rails", "7.0.0"
gem "js_image_paths", "0.2.0"
gem "js-routes", "2.2.8"
# Localization
gem "http_accept_language", "2.0.5"
gem "i18n-inflector-rails", "1.0.7"
gem "rails-i18n", "4.0.8"
# Mail
gem "markerb", "1.1.0"
gem "http_accept_language", "2.1.1"
gem "rails-i18n", "7.0.9"
# Map
gem "leaflet-rails", "0.7.7"
gem "leaflet-rails", "1.9.4"
# Parsing
gem "nokogiri", "1.6.8.1"
gem "redcarpet", "3.3.4"
gem "twitter-text", "1.14.0"
gem "ruby-oembed", "0.10.1"
gem "open_graph_reader", "0.6.1"
gem "nokogiri", "1.16.5"
gem "open_graph_reader", "0.9.1" # also update User-Agent in features/support/webmock.rb and open_graph_cache_spec.rb
gem "redcarpet", "3.6.0"
gem "ruby-oembed", "0.17.0"
gem "twitter-text", "3.1.0"
# Rate limitting
gem "rack-attack", "6.7.0"
# RTL support
gem "string-direction", "1.2.0"
gem "string-direction", "1.2.2"
# Security Headers
gem "secure_headers", "3.5.0"
gem "secure_headers", "6.5.0"
# Services
gem "omniauth", "1.3.1"
gem "omniauth-facebook", "4.0.0"
gem "omniauth-tumblr", "1.2"
gem "omniauth-twitter", "1.2.1"
gem "twitter", "5.16.0"
gem "omniauth-wordpress", "0.2.2"
gem "omniauth", "2.1.2"
gem "omniauth-rails_csrf_protection", "1.0.2"
gem "omniauth-tumblr", "1.2"
gem "omniauth-twitter", "1.4.0"
gem "omniauth-wordpress", "0.2.2"
gem "twitter", "8.0.0"
# OpenID Connect
gem "openid_connect", "0.12.0"
gem "openid_connect", "2.3.0"
# Serializers
gem "active_model_serializers", "0.9.5"
# XMPP chat dependencies
gem "diaspora-prosody-config", "0.0.7"
gem "rails-assets-diaspora_jsxc", "0.1.5.develop.7", source: "https://rails-assets.org"
gem "active_model_serializers", "0.9.12"
# Tags
gem "acts-as-taggable-on", "3.5.0"
gem "acts-as-taggable-on", "10.0.0"
# URIs and HTTP
gem "addressable", "2.4.0", require: "addressable/uri"
gem "faraday", "0.9.2"
gem "faraday_middleware", "0.10.0"
gem "faraday-cookie_jar", "0.0.6"
gem "typhoeus", "1.1.0"
gem "addressable", "2.8.6", require: "addressable/uri"
gem "faraday", "2.9.0"
gem "faraday-cookie_jar", "0.0.7"
gem "faraday-follow_redirects", "0.3.0"
gem "faraday-typhoeus", "1.1.0", require: false
gem "typhoeus", "1.4.1"
# Views
gem "gon", "6.1.0"
gem "hamlit", "2.7.5"
gem "mobile-fu", "1.3.1"
gem "will_paginate", "3.1.5"
gem "rails-timeago", "2.11.0"
gem "gon", "6.4.0"
gem "hamlit", "3.0.3"
gem "mobile-fu", "1.4.0"
gem "rails-timeago", "2.20.0"
gem "will_paginate", "4.0.0"
# Logging
gem "logging-rails", "0.5.0", require: "logging/rails"
gem "logging-rails", "0.6.0", require: "logging/rails"
# Reading and writing zip files
gem "rubyzip", "1.2.0", require: "zip"
gem "rubyzip", "2.3.2", require: "zip"
# Prevent occasions where minitest is not bundled in
# packaged versions of ruby. See following issues/prs:
# https://github.com/gitlabhq/gitlabhq/issues/3826
# https://github.com/gitlabhq/gitlabhq/pull/3852
# https://github.com/discourse/discourse/pull/238
gem "minitest"
gem "minitest", "5.23.1"
gem "versionist", "1.5.0"
# Windows and OSX have an execjs compatible runtime built-in, Linux users should
# install Node.js or use "therubyracer".
#
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem "therubyracer", :platform => :ruby
gem "versionist", "2.0.1"
group :production do # we don"t install these on travis to speed up test runs
# Administration
gem "rails_admin", "0.8.1"
# Analytics
gem "rack-google-analytics", "1.2.0"
@@ -220,7 +189,7 @@ group :production do # we don"t install these on travis to speed up test runs
# Process management
gem "eye", "0.8.1"
gem "foreman", "0.88.1", require: false
# Redirects
@@ -229,85 +198,72 @@ group :production do # we don"t install these on travis to speed up test runs
# Third party asset hosting
gem "asset_sync", "1.1.0", require: false
gem "asset_sync", "2.19.1", require: false
end
group :development do
# Automatic test runs
gem "guard", "2.14.0", require: false
gem "guard-cucumber", "2.1.2", require: false
gem "guard-rspec", "4.7.3", require: false
gem "guard-rubocop", "1.2.0", require: false
gem "rb-fsevent", "0.9.7", require: false
gem "rb-inotify", "0.9.7", require: false
# Linters
gem "rubocop", "0.40.0"
gem "haml_lint", "0.18.2"
gem "pronto", "0.7.1"
gem "pronto-eslint", "0.7.0"
gem "pronto-rubocop", "0.7.0"
gem "pronto-haml", "0.7.0"
gem "pronto-scss", "0.7.0", require: false
gem "haml_lint", "0.58.0", require: false
gem "pronto", "0.11.2", require: false
gem "pronto-eslint", "0.11.1", require: false
gem "pronto-haml", "0.11.1", require: false
gem "pronto-rubocop", "0.11.5", require: false
gem "pronto-scss", "0.11.0", require: false
gem "rubocop", "1.64.0", require: false
gem "rubocop-rails", "2.25.0", require: false
# Preloading environment
gem "spring", "2.0.0"
gem "spring-commands-rspec", "1.0.4"
gem "spring-commands-cucumber", "1.0.1"
gem "faraday-retry", require: false # used by pronto/octokit
# Debugging
gem "pry"
gem "pry-byebug"
# test coverage
gem "simplecov", "0.12.0", require: false
gem "simplecov", "0.22.0", require: false
gem "turbo_dev_assets", "0.0.2"
gem "listen", "3.9.0"
end
group :test do
# RSpec (unit tests, some integration tests)
gem "fixture_builder", "0.4.1"
gem "fuubar", "2.2.0"
gem "test_after_commit", "1.1.0"
gem "fixture_builder", "0.5.2"
gem "fuubar", "2.5.1"
gem "rspec-json_expectations", "~> 2.1"
# Cucumber (integration tests)
gem "capybara", "2.10.1"
gem "database_cleaner", "1.5.3"
gem "poltergeist", "1.11.0"
gem "capybara", "3.40.0"
gem "cuprite", "0.15"
gem "database_cleaner-active_record", "2.1.0"
gem "cucumber-api-steps", "0.13", require: false
gem "json_spec", "1.1.4"
gem "cucumber-api-steps", "0.14", require: false
# General helpers
gem "factory_girl_rails", "4.7.0"
gem "timecop", "0.8.1"
gem "webmock", "2.1.0", require: false
gem "shoulda-matchers", "3.1.1"
gem "factory_bot_rails", "6.4.3"
gem "shoulda-matchers", "6.2.0"
gem "timecop", "0.9.8"
gem "webmock", "3.23.1", require: false
gem "diaspora_federation-test", "0.1.5"
# Coverage
gem 'coveralls', require: false
gem "diaspora_federation-test", "1.1.0"
end
group :development, :test do
# RSpec (unit tests, some integration tests)
gem "rspec-rails", "3.5.2"
gem "rspec-rails", "6.1.2"
# Cucumber (integration tests)
gem "cucumber-rails", "1.4.5", require: false
gem "cucumber-rails", "3.0.0", require: false
# Jasmine (client side application tests (JS))
gem "jasmine", "2.5.1"
gem "chrome_remote", "0.3.0"
gem "jasmine", "3.10.0"
gem "jasmine-jquery-rails", "2.0.3"
gem "rails-assets-jasmine-ajax", "3.2.0", source: "https://rails-assets.org"
gem "sinon-rails", "1.15.0"
# silence assets
gem "quiet_assets", "1.1.0"
# For `assigns` in controller specs
gem "rails-controller-testing", "1.0.5"
end

File diff suppressed because it is too large Load Diff

View File

@@ -1,38 +0,0 @@
guard :rspec, cmd: "bin/spring rspec", all_on_start: false, all_after_pass: false do
watch(/^spec\/.+_spec\.rb$/)
watch(/^lib\/(.+)\.rb$/) {|m| "spec/lib/#{m[1]}_spec.rb" }
watch(/spec\/spec_helper.rb/) { "spec" }
# Rails example
watch(/^spec\/.+_spec\.rb$/)
watch(/^app\/(.+)\.rb$/) {|m| "spec/#{m[1]}_spec.rb" }
watch(/^lib\/(.+)\.rb$/) {|m| "spec/lib/#{m[1]}_spec.rb" }
watch(%r{^app/controllers/(.+)_(controller)\.rb$}) {|m|
["spec/routing/#{m[1]}_routing_spec.rb",
"spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb",
"spec/acceptance/#{m[1]}_spec.rb"]
}
watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
watch("spec/spec_helper.rb") { "spec" }
watch("config/routes.rb") { "spec/routing" }
watch("app/controllers/application_controller.rb") { "spec/controllers" }
# Capybara request specs
watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) {|m| "spec/requests/#{m[1]}_spec.rb" }
end
guard(:cucumber,
cmd: "bin/spring cucumber",
all_on_start: false,
all_after_pass: false) do
watch(/^features\/.+\.feature$/)
watch(%r{^features/support/.+$}) { "features" }
watch(%r{^features/step_definitions/(.+)_steps\.rb$}) {|m|
Dir[File.join("**/#{m[1]}.feature")][0] || "features"
}
end
guard :rubocop, all_on_start: false, keep_failed: false do
watch(/(?:app|config|db|lib|features|spec)\/.+\.rb$/)
watch(/(config.ru|Gemfile|Guardfile|Rakefile)$/)
end

View File

@@ -1,2 +1,2 @@
web: bin/bundle exec unicorn -c config/unicorn.rb -p $PORT
web: bin/puma -C config/puma.rb
sidekiq: bin/bundle exec sidekiq

View File

@@ -1,27 +1,18 @@
# diaspora*
# diaspora\*
### A privacy-aware, distributed, open source social network
**master:** [![Build Status master](https://secure.travis-ci.org/diaspora/diaspora.svg?branch=master)](http://travis-ci.org/diaspora/diaspora)
**next-minor:** [![Build Status next-minor](https://secure.travis-ci.org/diaspora/diaspora.svg?branch=next-minor)](http://travis-ci.org/diaspora/diaspora)
[![Coverage Status next-minor](https://coveralls.io/repos/github/diaspora/diaspora/badge.svg?branch=next-minor)](https://coveralls.io/github/diaspora/diaspora?branch=next-minor)|
**develop:** [![Build Status develop](https://secure.travis-ci.org/diaspora/diaspora.svg?branch=develop)](http://travis-ci.org/diaspora/diaspora)
[![Coverage Status develop](https://coveralls.io/repos/github/diaspora/diaspora/badge.svg?branch=develop)](https://coveralls.io/github/diaspora/diaspora?branch=develop) |
[![Dependency Status](https://gemnasium.com/badges/github.com/diaspora/diaspora.svg)](https://gemnasium.com/diaspora/diaspora)
[![Code Climate](https://codeclimate.com/github/diaspora/diaspora/badges/gpa.svg)](https://codeclimate.com/github/diaspora/diaspora)
[Project site](https://diasporafoundation.org) |
[Wiki](https://wiki.diasporafoundation.org) |
[Bugtracker](https://github.com/diaspora/diaspora/issues) |
[Discussions](https://www.loomio.org/groups/194) |
[Mailing lists](https://wiki.diasporafoundation.org/How_We_Communicate#Mailing_Lists) |
[Discussions and Support](https://discourse.diasporafoundation.org/) |
[License](/COPYRIGHT) |
[Authors](https://github.com/diaspora/diaspora/contributors)
## Installation
You don't have to install diaspora* to use the network. There are many servers connected to diaspora*s network which are open to anyone, and you can create an account on one of these servers. Have a look at our [tips for finding a home](https://wiki.diasporafoundation.org/Choosing_a_pod), or you can just go straight to the [list of open servers](http://podupti.me) to sign up.
You don't have to install diaspora\* to use the network. There are many servers connected to diaspora\*s network which are open to anyone, and you can create an account on one of these servers. Have a look at our [tips for finding a home](https://wiki.diasporafoundation.org/Choosing_a_pod), or you can just go straight to the [list of open servers](https://diaspora.fediverse.observer) to sign up.
Want to own your data and install diaspora*? Whether you just want to try it out, want to install it on your server or want to contribute and need a development setup, our [installation guides](https://wiki.diasporafoundation.org/Installation) will get you started!
Want to own your data and install diaspora\*? Whether you just want to try it out, want to install it on your server or want to contribute and need a development setup, our [installation guides](https://wiki.diasporafoundation.org/Installation) will get you started!
## Questions?
@@ -31,10 +22,10 @@ Still haven't found an answer? Talk to us! Read [how we communicate](https://wik
## Contribute
To keep diaspora* growing and improving we need all help we can get. Whether you can contribute [code](https://wiki.diasporafoundation.org/Getting_started_with_contributing), [ideas](https://wiki.diasporafoundation.org/How_we_communicate#Loomio), [translations](https://wiki.diasporafoundation.org/Contribute_translations), [bug reports](https://wiki.diasporafoundation.org/How_to_report_a_bug) or simply extend the community as a [helpful user](https://wiki.diasporafoundation.org/Welcoming_committee) or [pod administrator](https://wiki.diasporafoundation.org/Installation), your help is welcome!
To keep diaspora\* growing and improving we need all help we can get. Whether you can contribute [code](https://wiki.diasporafoundation.org/Getting_started_with_contributing), [ideas](https://wiki.diasporafoundation.org/How_we_communicate#Discourse), [translations](https://wiki.diasporafoundation.org/Contribute_translations), [bug reports](https://wiki.diasporafoundation.org/How_to_report_a_bug) or simply extend the community as a [helpful user](https://wiki.diasporafoundation.org/Welcoming_committee) or [pod administrator](https://wiki.diasporafoundation.org/Installation), your help is welcome!
Everyone interacting in diasporas codebases, issue trackers, chat rooms, mailing lists, the wiki, and the Loomio group is expected to follow the diaspora\* [code of conduct](/CODE_OF_CONDUCT.md).
Everyone interacting in diasporas codebases, issue trackers, chat rooms, the wiki, and the Discourse is expected to follow the diaspora\* [code of conduct](/CODE_OF_CONDUCT.md).
## Security
Found a security issue? Please disclose it responsibly. We have a team of developers listening to [security@diasporafoundation.org](mailto:security@diasporafoundation.org). The PGP fingerprint is [AB0D AB02 0FC5 D398 03AB 3CE1 6F70 243F 27AD 886A](https://pgp.mit.edu/pks/lookup?op=get&search=0x6F70243F27AD886A).
See [`SECURITY.md`](/SECURITY.md) for instructions on how to responsibly report a security vulnerability.

View File

@@ -1,3 +1,5 @@
# frozen_string_literal: true
# Copyright (c) 2010-2011, Diaspora Inc. This file is
# licensed under the Affero General Public License version 3 or later. See
# the COPYRIGHT file.

9
SECURITY.md Normal file
View File

@@ -0,0 +1,9 @@
# Security Policy
## Supported Versions
We support the latest stable release, as well as the current state of the `next-minor` and `develop` branches. Security issues for older releases are out of scope.
## Reporting a Vulnerability
Found a security issue? Please disclose it responsibly. We have a team of developers listening to [security@diasporafoundation.org](mailto:security@diasporafoundation.org). The PGP fingerprint is [AB0D AB02 0FC5 D398 03AB 3CE1 6F70 243F 27AD 886A](https://pgp.mit.edu/pks/lookup?op=get&search=0x6F70243F27AD886A).

View File

@@ -0,0 +1,13 @@
//= link_tree ../images
//= link main.js
//= link mobile/mobile.js
//= link contact-list.js
//= link jquery3.js
//= link jquery_ujs.js
//= link bookmarklet.js
//= link mobile/bookmarklet.js
//= link admin.css
//= link error_pages.css
//= link rtl.css

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="83" height="30">
<rect id="back" fill="#f6c915" x="1" y=".5" width="82" height="29" rx="4"/>
<svg viewBox="0 0 80 80" height="16" width="16" x="7" y="7">
<g transform="translate(-78.37-208.06)" fill="#1a171b">
<path d="m104.28 271.1c-3.571 0-6.373-.466-8.41-1.396-2.037-.93-3.495-2.199-4.375-3.809-.88-1.609-1.308-3.457-1.282-5.544.025-2.086.313-4.311.868-6.675l9.579-40.05 11.69-1.81-10.484 43.44c-.202.905-.314 1.735-.339 2.489-.026.754.113 1.421.415 1.999.302.579.817 1.044 1.546 1.395.729.353 1.747.579 3.055.679l-2.263 9.278"/>
<path d="m146.52 246.14c0 3.671-.604 7.03-1.811 10.07-1.207 3.043-2.879 5.669-5.01 7.881-2.138 2.213-4.702 3.935-7.693 5.167-2.992 1.231-6.248 1.848-9.767 1.848-1.71 0-3.42-.151-5.129-.453l-3.394 13.651h-11.162l12.52-52.19c2.01-.603 4.311-1.143 6.901-1.622 2.589-.477 5.393-.716 8.41-.716 2.815 0 5.242.428 7.278 1.282 2.037.855 3.708 2.024 5.02 3.507 1.307 1.484 2.274 3.219 2.904 5.205.627 1.987.942 4.11.942 6.373m-27.378 15.461c.854.202 1.91.302 3.167.302 1.961 0 3.746-.364 5.355-1.094 1.609-.728 2.979-1.747 4.111-3.055 1.131-1.307 2.01-2.877 2.64-4.714.628-1.835.943-3.858.943-6.071 0-2.161-.479-3.998-1.433-5.506-.956-1.508-2.615-2.263-4.978-2.263-1.61 0-3.118.151-4.525.453l-5.28 21.948"/>
</g>
</svg>
<text fill="#1a171b" text-anchor="middle" font-family="Helvetica Neue,Helvetica,Arial,sans-serif" font-weight="700" font-size="14" x="50" y="20">Donate</text>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,5 +1,5 @@
$(document).ready(function() {
$("#js-app-logo").error(function () {
$("#js-app-logo").on("error", function() {
$(this).attr("src", ImagePaths.get("user/default.png"));
});
});

View File

@@ -14,7 +14,7 @@
//= require_tree ./collections
//= require_tree ./views
//= require perfect-scrollbar/perfect-scrollbar.jquery
//= require perfect-scrollbar/dist/perfect-scrollbar
var app = {
collections: {},
@@ -60,11 +60,6 @@ var app = {
return !!(window.gon.preloads && window.gon.preloads[prop]); //returning boolean variable so that parsePreloads, which cleans up properly is used instead
},
setPreload : function(prop, val) {
window.gon.preloads = window.gon.preloads || {};
window.gon.preloads[prop] = val;
},
parsePreload : function(prop) {
if(!app.hasPreload(prop)) { return; }
@@ -126,12 +121,6 @@ var app = {
app.flashMessages = new app.views.FlashMessages({el: $("#flash-container")});
},
/* mixpanel wrapper function */
instrument : function(type, name, object, callback) {
if(!window.mixpanel) { return; }
window.mixpanel[type](name, object, callback);
},
setupDisabledLinks: function() {
$("a.disabled").click(function(event) {
event.preventDefault();

View File

@@ -12,12 +12,17 @@ app.collections.Comments = Backbone.Collection.extend({
make : function(text) {
var self = this;
var comment = new app.models.Comment({ "text": text });
var comment = new app.models.Comment({"text": text}, {post: this.post});
var deferred = comment.save({}, {
url: "/posts/"+ this.post.id +"/comments",
success: function() {
comment.set({author: app.currentUser.toJSON(), parent: self.post });
// Need interactions after make
comment.interactions = new app.models.LikeInteractions(
_.extend({comment: comment, post: self.post}, comment.get("interactions"))
);
self.add(comment);
}
});

View File

@@ -4,7 +4,11 @@ app.collections.Likes = Backbone.Collection.extend({
model: app.models.Like,
initialize : function(models, options) {
this.url = "/posts/" + options.post.id + "/likes"; //not delegating to post.url() because when it is in a stream collection it delegates to that url
// A comment- like has a post reference and a comment reference
this.url = (options.comment != null) ?
// not delegating to post.url() because when it is in a stream collection it delegates to that url
"/comments/" + options.comment.id + "/likes" :
"/posts/" + options.post.id + "/likes";
}
});
// @license-end

View File

@@ -84,7 +84,8 @@ app.collections.Notifications = Backbone.Collection.extend({
/* eslint-disable new-cap */
var model = new this.model(item);
/* eslint-enable new-cap */
model.on("change:unread", this.onChangedUnreadStatus.bind(this));
model.on("userChangedUnreadStatus", this.onChangedUnreadStatus.bind(this));
model.on("change:unread", function() { this.trigger("update"); }.bind(this));
return model;
}.bind(this));
},

View File

@@ -44,7 +44,7 @@ Handlebars.registerHelper('linkToPerson', function(context, block) {
// relationship indicator for profile page
Handlebars.registerHelper("sharingMessage", function(person) {
var i18nScope = "people.helper.is_not_sharing";
var icon = "circle";
var icon = "entypo-record";
if( person.is_sharing ) {
i18nScope = "people.helper.is_sharing";
icon = "entypo-check";
@@ -116,7 +116,7 @@ Handlebars.registerHelper("isCurrentProfilePage", function(id, diasporaHandle, o
});
Handlebars.registerHelper('aspectMembershipIndicator', function(contact,in_aspect) {
if(!app.aspect || !app.aspect.get('id')) return '<div class="aspect_membership_dropdown placeholder"></div>';
if(!app.aspect || !app.aspect.get('id')) return '<div class="aspect-membership-dropdown placeholder"></div>';
var html = "<i class=\"entypo-";
if( in_aspect === 'in_aspect' ) {

View File

@@ -1,7 +1,4 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
/* we need to wrap this in a document ready to ensure JST is accessible */
$(function(){
Handlebars.registerPartial('status-message', HandlebarsTemplates['status-message_tpl']);
});
Handlebars.registerPartial("status-message", HandlebarsTemplates["status-message_tpl"]);
// @license-end

View File

@@ -1,25 +1,23 @@
(function() {
app.helpers.locations = {
getTiles: function() {
// If the mapbox option is enabled in the diaspora.yml, the mapbox tiles with the podmin's credentials are used.
// If the mapbox option is enabled in the diaspora.toml, the mapbox tiles with the podmin's credentials are used.
if (gon.appConfig.map.mapbox.enabled) {
return L.tileLayer("https://api.mapbox.com/styles/v1/{style}/tiles/256/{z}/{x}/{y}?access_token={accessToken}", {
accessToken: gon.appConfig.map.mapbox.access_token,
style: gon.appConfig.map.mapbox.style,
attribution: "Map data &copy; <a href='http://openstreetmap.org'>OpenStreetMap</a> contributors, " +
"<a href='http://creativecommons.org/licenses/by-sa/2.0/''>CC-BY-SA</a>, " +
"Imagery © <a href='https://www.mapbox.com'>Mapbox</a>",
maxZoom: 18
});
return L.tileLayer(
"https://api.mapbox.com/styles/v1/{style}/tiles/256/{z}/{x}/{y}?access_token={accessToken}",
{
accessToken: gon.appConfig.map.mapbox.access_token,
style: gon.appConfig.map.mapbox.style,
attribution:
"Map data &copy; <a href='https://openstreetmap.org'>OpenStreetMap</a> contributors, " +
"<a href='http://opendatacommons.org/licenses/dbcl/1.0/'>Open Database License, ODbL 1.0</a>, " +
"Imagery © <a href='https://www.mapbox.com'>Mapbox</a>",
maxZoom: 18,
tileSize: 512,
zoomOffset: -1
}
);
}
// maptiles from the Heidelberg University are used by default.
return L.tileLayer("http://korona.geog.uni-heidelberg.de/tiles/roads/x={x}&y={y}&z={z}", {
attribution: "Map data &copy; <a href='http://openstreetmap.org'>OpenStreetMap</a> contributors, " +
"rendering <a href='http://giscience.uni-hd.de/'>" +
"GIScience Research Group @ Heidelberg University</a>",
maxZoom: 18
});
}
};
})();

View File

@@ -7,6 +7,7 @@
modalBody.load(url, function(){
$(id).find("#modalWaiter").remove();
autosize($("textarea", modalBody));
$(id).trigger("modal:loaded");
});
};

View File

@@ -1,6 +1,11 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
(function(){
app.helpers.allowedEmbedsMime = function(mimetype) {
var v = document.createElement(mimetype[1]);
return v.canPlayType && v.canPlayType(mimetype[0]) !== "";
};
app.helpers.textFormatter = function(text, mentions) {
mentions = mentions ? mentions : [];
@@ -8,10 +13,12 @@
breaks: true,
html: true,
linkify: true,
typographer: true,
langPrefix: ""
typographer: true
});
var footnote = window.markdownitFootnote;
md.use(footnote);
var inlinePlugin = window.markdownitForInline;
md.use(inlinePlugin, "utf8_symbols", "text", function (tokens, idx) {
tokens[idx].content = tokens[idx].content.replace(/<->/g, "↔")
@@ -36,9 +43,16 @@
var hashtagPlugin = window.markdownitHashtag;
md.use(hashtagPlugin, {
// compare tag_text_regexp in app/models/acts_as_taggable_on-tag.rb
hashtagRegExp: "[" + PosixBracketExpressions.alnum + "_\\-]+|<3",
// compare tag_strings in lib/diaspora/taggabe.rb
// compare tag_text_regexp in config/initializers/acts_as_taggable_on.rb
hashtagRegExp: "[" + PosixBracketExpressions.word +
"\\u055b" + // Armenian emphasis mark
"\\u055c" + // Armenian exclamation mark
"\\u055e" + // Armenian question mark
"\\u058a" + // Armenian hyphen
"_" +
"\\-" +
"]+|<3",
// compare tag_strings in lib/diaspora/taggable.rb
preceding: "^|\\s"
});
@@ -65,10 +79,6 @@
} catch (__) {}
}
try {
return hljs.highlightAuto(str).value;
} catch (__) {}
return "";
}
});
@@ -81,6 +91,30 @@
// Bootstrap table markup
md.renderer.rules.table_open = function () { return "<table class=\"table table-striped\">\n"; };
var html5medialPlugin = window.markdownitHTML5Embed;
md.use(html5medialPlugin, {html5embed: {
inline: false,
autoAppend: true,
renderFn: function handleBarsRenderFn(parsed, mediaAttributes) {
var attributes = mediaAttributes[parsed.mediaType];
return HandlebarsTemplates["media-embed_tpl"]({
mediaType: parsed.mediaType,
attributes: attributes,
mimetype: parsed.mimeType,
sourceURL: parsed.url,
title: parsed.title,
fallback: parsed.fallback,
needsCover: parsed.mediaType === "video"
});
},
attributes: {
"audio": "controls preload=none",
"video": "preload=none"
},
isAllowedMimeType: app.helpers.allowedEmbedsMime
}});
return md.render(text);
};
})();

View File

@@ -1,14 +1,11 @@
(function() {
app.helpers.truncate = function(passedString, length) {
if (passedString === null || passedString === undefined) {
if (passedString === null || passedString === undefined || passedString.length < length) {
return passedString;
}
if (passedString.length > length) {
var lastBlank = passedString.lastIndexOf(' ', length);
var trimstring = passedString.substring(0, Math.min(length, lastBlank));
return new Handlebars.SafeString(trimstring + " ...");
}
return new Handlebars.SafeString(passedString);
var lastBlank = passedString.lastIndexOf(" ", length);
var trimstring = passedString.substring(0, Math.min(length, lastBlank));
return trimstring + " ...";
};
})();

View File

@@ -1,6 +1,17 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
app.models.Comment = Backbone.Model.extend({
urlRoot: "/comments"
urlRoot: "/comments",
initialize: function(model, options) {
options = options || {};
this.post = model.post || options.post || this.collection.post;
this.interactions = new app.models.LikeInteractions(
_.extend({comment: this, post: this.post}, this.get("interactions"))
);
this.likes = this.interactions.likes;
this.likesCount = this.attributes.likes_count;
this.userLike = this.interactions.userLike();
}
});
// @license-end

View File

@@ -0,0 +1,58 @@
// This class contains code extracted from interactions.js to factorize likes management between posts and comments
app.models.LikeInteractions = Backbone.Model.extend({
initialize: function(options) {
this.likes = new app.collections.Likes(this.get("likes"), options);
this.post = options.post;
},
likesCount: function() {
return this.get("likes_count");
},
userLike: function() {
return this.likes.select(function(like) {
return like.get("author") && like.get("author").guid === app.currentUser.get("guid");
})[0];
},
toggleLike: function() {
if (this.userLike()) {
this.unlike();
} else {
this.like();
}
},
like: function() {
var self = this;
this.likes.create({}, {
success: function() {
self.post.set({participation: true});
self.trigger("change");
self.set({"likes_count": self.get("likes_count") + 1});
self.likes.trigger("change");
},
error: function(model, response) {
app.flashMessages.handleAjaxError(response);
}
});
},
unlike: function() {
var self = this;
this.userLike().destroy({
success: function() {
// TODO: unlike always sets participation to false in the UI, even if there are more participations left
// in the backend (from manually participating, other likes or comments)
self.post.set({participation: false});
self.trigger("change");
self.set({"likes_count": self.get("likes_count") - 1});
self.likes.trigger("change");
},
error: function(model, response) {
app.flashMessages.handleAjaxError(response);
}});
}
});

View File

@@ -40,6 +40,10 @@ app.models.Notification = Backbone.Model.extend({
* }
*/
parse: function(response) {
if (response.id) {
// already correct format
return response;
}
var result = {type: response.type};
result = $.extend(result, response[result.type]);
return result;
@@ -62,7 +66,10 @@ app.models.Notification = Backbone.Model.extend({
/* eslint-enable camelcase */
type: "PUT",
context: this,
success: function() { this.set("unread", state); }
success: function() {
this.set("unread", state);
this.trigger("userChangedUnreadStatus", this);
}
});
}
}

View File

@@ -30,7 +30,7 @@ app.models.Person = Backbone.Model.extend({
},
isBlocked: function() {
return (this.get('relationship') === 'blocked');
return (this.get("block") !== false);
},
block: function() {

View File

@@ -4,7 +4,7 @@ app.models.Post = Backbone.Model.extend(_.extend({}, app.models.formatDateMixin,
urlRoot : "/posts",
initialize : function() {
this.interactions = new app.models.Post.Interactions(_.extend({post : this}, this.get("interactions")));
this.interactions = new app.models.PostInteractions(_.extend({post: this}, this.get("interactions")));
this.delegateToInteractions();
},
@@ -48,12 +48,6 @@ app.models.Post = Backbone.Model.extend(_.extend({}, app.models.formatDateMixin,
var body = this.get("text").trim()
, newlineIdx = body.indexOf("\n");
return (newlineIdx > 0 ) ? body.substr(newlineIdx+1, body.length) : "";
},
//returns a promise
preloadOrFetch : function(){
var action = app.hasPreload("post") ? this.set(app.parsePreload("post")) : this.fetch();
return $.when(action);
}
}));
// @license-end

View File

@@ -1,96 +1,27 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
//require ../post
app.models.Post.Interactions = Backbone.Model.extend({
url : function(){
return this.post.url() + "/interactions";
},
initialize : function(options){
app.models.PostInteractions = app.models.LikeInteractions.extend({
initialize: function(options) {
app.models.LikeInteractions.prototype.initialize.apply(this, arguments);
this.post = options.post;
this.comments = new app.collections.Comments(this.get("comments"), {post : this.post});
this.likes = new app.collections.Likes(this.get("likes"), {post : this.post});
this.reshares = new app.collections.Reshares(this.get("reshares"), {post : this.post});
this.comments = new app.collections.Comments(this.get("comments"), {post: this.post});
this.reshares = new app.collections.Reshares(this.get("reshares"), {post: this.post});
},
parse : function(resp){
this.comments.reset(resp.comments);
this.likes.reset(resp.likes);
this.reshares.reset(resp.reshares);
var comments = this.comments
, likes = this.likes
, reshares = this.reshares;
return {
comments : comments,
likes : likes,
reshares : reshares,
fetched : true
};
resharesCount: function() {
return this.get("reshares_count");
},
likesCount : function(){
return this.get("fetched") ? this.likes.models.length : this.get("likes_count");
commentsCount: function() {
return this.get("comments_count");
},
resharesCount : function(){
return this.get("fetched") ? this.reshares.models.length : this.get("reshares_count");
},
commentsCount : function(){
return this.get("fetched") ? this.comments.models.length : this.get("comments_count");
},
userLike : function(){
return this.likes.select(function(like){
return like.get("author") && like.get("author").guid === app.currentUser.get("guid");
})[0];
},
userReshare : function(){
userReshare: function() {
return this.reshares.select(function(reshare){
return reshare.get("author") && reshare.get("author").guid === app.currentUser.get("guid");
})[0];
},
toggleLike : function() {
if(this.userLike()) {
this.unlike();
} else {
this.like();
}
},
like : function() {
var self = this;
this.likes.create({}, {
success: function() {
self.post.set({participation: true});
self.trigger("change");
self.set({"likes_count" : self.get("likes_count") + 1});
self.likes.trigger("change");
},
error: function(model, response) {
app.flashMessages.handleAjaxError(response);
}
});
app.instrument("track", "Like");
},
unlike : function() {
var self = this;
this.userLike().destroy({success : function() {
self.trigger('change');
self.set({"likes_count" : self.get("likes_count") - 1});
self.likes.trigger("change");
}});
app.instrument("track", "Unlike");
},
comment: function(text, options) {
var self = this;
options = options || {};
@@ -104,8 +35,10 @@ app.models.Post.Interactions = Backbone.Model.extend({
self.trigger('change'); //updates after sync
if (options.success) { options.success(); }
});
},
app.instrument("track", "Comment");
removedComment: function() {
this.set({"comments_count": this.get("comments_count") - 1});
},
reshare : function(){
@@ -126,11 +59,9 @@ app.models.Post.Interactions = Backbone.Model.extend({
.fail(function(response) {
app.flashMessages.handleAjaxError(response);
});
app.instrument("track", "Reshare");
},
userCanReshare : function(){
userCanReshare: function() {
var isReshare = this.post.get("post_type") === "Reshare"
, rootExists = (isReshare ? this.post.get("root") : true)
, publicPost = this.post.get("public")

View File

@@ -13,8 +13,16 @@ app.models.Stream = Backbone.Collection.extend({
},
collectionOptions :function(){
var order = this.sortOrder();
return { comparator : function(item) { return -item[order](); } };
var order = this.sortOrder();
return {
comparator: function(item1, item2) {
if (item1[order]() < item2[order]()) { return 1; }
if (item1[order]() > item2[order]()) { return -1; }
if (item1.id < item2.id) { return 1; }
if (item1.id > item2.id) { return -1; }
return 0;
}
};
},
url : function(){
@@ -61,7 +69,7 @@ app.models.Stream = Backbone.Collection.extend({
},
sortOrder : function() {
return /activity/.test(this.basePath()) ? "interactedAt" : "createdAt";
return /^\/activity/.test(this.basePath()) ? "interactedAt" : "createdAt";
},
/* This function is for adding a large number of posts one by one.

View File

@@ -29,6 +29,25 @@ app.pages.AdminPods = app.views.Base.extend({
_showMessages: function() {
var msgs = document.createDocumentFragment();
if (gon.totalCount && gon.totalCount > 0) {
let totalPods = $("<div class='alert alert-info' role='alert' />")
.append(Diaspora.I18n.t("admin.pods.total", {count: gon.totalCount}));
if (gon.activeCount) {
if (gon.activeCount === 0) {
totalPods
.append(" " + Diaspora.I18n.t("admin.pods.none_active"));
}
if (gon.activeCount === gon.totalCount) {
totalPods
.append(" " + Diaspora.I18n.t("admin.pods.all_active"));
} else {
totalPods
.append(" " + Diaspora.I18n.t("admin.pods.active", {count: gon.activeCount}));
}
}
msgs.appendChild(totalPods[0]);
}
if( gon.uncheckedCount && gon.uncheckedCount > 0 ) {
var unchecked = $("<div class='alert alert-info' role='alert' />")
.append(Diaspora.I18n.t("admin.pods.unchecked", {count: gon.uncheckedCount}));

View File

@@ -5,19 +5,15 @@ app.pages.Contacts = Backbone.View.extend({
el: "#contacts_container",
events: {
"click #contacts_visibility_toggle" : "toggleContactVisibility",
"click #chat_privilege_toggle" : "toggleChatPrivilege",
"click #change_aspect_name" : "showAspectNameForm",
"click .conversation_button": "showMessageModal",
"click #invitations-button": "showInvitationsModal"
"click .invitations-button": "showInvitationsModal"
},
initialize: function(opts) {
this.visibilityToggle = $("#contacts_visibility_toggle i");
this.chatToggle = $("#chat_privilege_toggle i");
this.stream = opts.stream;
this.stream.render();
$("#people_stream.contacts .header i").tooltip({"placement": "bottom"});
$("#people-stream.contacts .header i").tooltip({"placement": "bottom"});
$(document).on("ajax:success", "form.edit_aspect", this.updateAspectName);
app.events.on("aspect:create", function(){ window.location.reload() });
app.events.on("aspect_membership:create", this.addAspectMembership, this);
@@ -29,41 +25,6 @@ app.pages.Contacts = Backbone.View.extend({
this.setupAspectSorting();
},
toggleChatPrivilege: function() {
if (this.chatToggle.hasClass("enabled")) {
this.chatToggle.tooltip("destroy")
.removeClass("enabled")
.removeAttr("data-original-title")
.attr("title", Diaspora.I18n.t("contacts.aspect_chat_is_not_enabled"))
.tooltip({"placement": "bottom"});
} else {
this.chatToggle.tooltip("destroy")
.addClass("enabled")
.removeAttr("data-original-title")
.attr("title", Diaspora.I18n.t("contacts.aspect_chat_is_enabled"))
.tooltip({"placement": "bottom"});
}
},
toggleContactVisibility: function() {
if (this.visibilityToggle.hasClass("entypo-lock-open")) {
this.visibilityToggle.removeClass("entypo-lock-open")
.addClass("entypo-lock")
.tooltip("destroy")
.removeAttr("data-original-title")
.attr("title", Diaspora.I18n.t("contacts.aspect_list_is_not_visible"))
.tooltip({"placement": "bottom"});
}
else {
this.visibilityToggle.removeClass("entypo-lock")
.addClass("entypo-lock-open")
.tooltip("destroy")
.removeAttr("data-original-title")
.attr("title", Diaspora.I18n.t("contacts.aspect_list_is_visible"))
.tooltip({"placement": "bottom"});
}
},
showAspectNameForm: function() {
$(".header > h3").hide();
var aspectName = $.trim($(".header h3 #aspect_name").text());
@@ -80,7 +41,10 @@ app.pages.Contacts = Backbone.View.extend({
showMessageModal: function(){
$("#conversationModal").on("modal:loaded", function() {
new app.views.ConversationsForm({prefill: gon.conversationPrefill});
var people = _.pluck(app.contacts.filter(function(contact) {
return contact.person.get("relationship") === "mutual" && contact.inAspect(app.aspect.get("id"));
}), "person");
new app.views.ConversationsForm({prefill: people});
});
app.helpers.showModal("#conversationModal");
},

View File

@@ -5,7 +5,7 @@ app.pages.GettingStarted = app.views.Base.extend({
templateName: false,
subviews: {
".aspect_membership_dropdown": "aspectMembershipView"
".aspect-membership-dropdown": "aspectMembershipView"
},
initialize: function(opts) {

View File

@@ -11,7 +11,7 @@ app.pages.Profile = app.views.Base.extend({
subviews: {
"#profile": "sidebarView",
".profile_header": "headerView",
"#main_stream": "streamView"
"#main-stream": "streamView"
},
tooltipSelector: ".profile_button .profile-header-icon, .sharing_message_container",
@@ -24,9 +24,6 @@ app.pages.Profile = app.views.Base.extend({
if (app.hasPreload("photos_count")) {
this.photos = app.parsePreload("photos_count");
}
if (app.hasPreload("contacts_count")) {
this.contacts = app.parsePreload("contacts_count");
}
this.streamCollection = _.has(opts, "streamCollection") ? opts.streamCollection : null;
this.streamViewClass = _.has(opts, "streamView") ? opts.streamView : null;
@@ -70,7 +67,6 @@ app.pages.Profile = app.views.Base.extend({
return new app.views.ProfileHeader({
model: this.model,
photos: this.photos,
contacts: this.contacts
});
},

View File

@@ -1,10 +0,0 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
app.pages.Registration = Backbone.View.extend({
initialize: function() {
$("input#user_email").popover({
placement: "left",
trigger: "focus"
}).popover("show");
}
});
// @license-end

View File

@@ -11,9 +11,14 @@ app.pages.Settings = Backbone.View.extend({
new Diaspora.ProfilePhotoUploader();
this.viewAspectSelector = new app.views.PublisherAspectSelector({
el: $(".aspect_dropdown"),
el: $(".aspect-dropdown"),
form: $("#post-default-aspects")
});
$("#update_profile_form").areYouSure();
$("#register-protocol-handler").click(function() {
Diaspora.ProtocolHandler.register();
});
}
});
// @license-end

View File

@@ -3,24 +3,23 @@
app.pages.SinglePostViewer = app.views.Base.extend({
templateName: "single-post-viewer",
subviews : {
"#single-post-content" : "singlePostContentView",
'#single-post-interactions' : 'singlePostInteractionsView'
subviews: {
"#single-post-content": "singlePostContentView",
"#single-post-interactions": "singlePostInteractionsView"
},
initialize : function() {
this.model = new app.models.Post({ id : gon.post.id });
this.model.preloadOrFetch().done(_.bind(this.initViews, this));
this.model.interactions.fetch(); //async, yo, might want to throttle this later.
initialize: function() {
this.model = new app.models.Post(gon.post);
this.initViews();
},
initViews : function() {
initViews: function() {
this.singlePostContentView = new app.views.SinglePostContent({model: this.model});
this.singlePostInteractionsView = new app.views.SinglePostInteractions({model: this.model});
this.render();
},
postRenderTemplate : function() {
postRenderTemplate: function() {
if(this.model.get("title")){
// formats title to html...
var html_title = app.helpers.textFormatter(this.model.get("title"), this.model.get("mentioned_people"));

View File

@@ -9,7 +9,7 @@ app.Router = Backbone.Router.extend({
"commented(/)": "stream",
"community_spotlight(/)": "spotlight",
"contacts(/)": "contacts",
"conversations(/)(:id)(/)": "conversations",
"conversations(/)(:id)(?conversation_id=:conversation_id)(/)": "conversations",
"followed_tags(/)": "followed_tags",
"getting_started(/)": "gettingStarted",
"help(/)": "help",
@@ -20,11 +20,11 @@ app.Router = Backbone.Router.extend({
"p/:id(/)": "singlePost",
"people(/)": "peopleSearch",
"people/:id(/)": "profile",
"people/:id/contacts(/)": "profile",
"people/:id/photos(/)": "photos",
"posts/:id(/)": "singlePost",
"profile/edit(/)": "settings",
"public(/)": "stream",
"local_public(/)": "stream",
"stream(/)": "stream",
"tags/:name(/)": "followed_tags",
"u/:name(/)": "profile",
@@ -93,8 +93,8 @@ app.Router = Backbone.Router.extend({
app.page = new app.pages.Contacts({stream: stream});
},
conversations: function(id) {
app.conversations = app.conversations || new app.views.ConversationsInbox();
conversations: function(id, conversationId) {
app.conversations = app.conversations || new app.views.ConversationsInbox(conversationId);
if (parseInt("" + id, 10)) {
app.conversations.renderConversation(id);
}
@@ -173,20 +173,16 @@ app.Router = Backbone.Router.extend({
});
},
registration: function() {
app.page = new app.pages.Registration();
},
settings: function() {
app.page = new app.pages.Settings();
},
singlePost: function(id) {
this.renderPage(function() { return new app.pages.SinglePostViewer({id: id}); });
this.renderPage(function() { return new app.pages.SinglePostViewer({id: id, el: $("#container")}); });
},
spotlight: function() {
$("#invitations-button").click(function() {
$(".invitations-button").click(function() {
app.helpers.showModal("#invitationsModal");
});
},
@@ -217,9 +213,10 @@ app.Router = Backbone.Router.extend({
app.shortcuts = app.shortcuts || new app.views.StreamShortcuts({el: $(document)});
if ($("#publisher").length !== 0) {
app.publisher = app.publisher || new app.views.Publisher({collection: app.stream.items});
app.page.setupAvatarFallback($(".main-stream-publisher"));
}
$("#main_stream").html(app.page.render().el);
$("#main-stream").html(app.page.render().el);
this._hideInactiveStreamLists();
},
@@ -228,7 +225,7 @@ app.Router = Backbone.Router.extend({
},
renderAspectMembershipDropdowns: function($context) {
$context.find(".aspect_membership_dropdown.placeholder").each(function() {
$context.find(".aspect-membership-dropdown.placeholder").each(function() {
var personId = $(this).data("personId");
var view = new app.views.AspectMembership({person: app.contacts.findWhere({"person_id": personId}).person});
$(this).html(view.render().$el);

View File

@@ -4,6 +4,7 @@ app.views.Base = Backbone.View.extend({
initialize : function() {
this.setupRenderEvents();
this.setupReport();
},
presenter : function(){
@@ -55,8 +56,7 @@ app.views.Base = Backbone.View.extend({
.html(this.template(presenter))
.attr("data-template", _.last(this.templateName.split("/")));
// add avatar fallback if it can't be loaded
this.$el.find(this.avatars.selector).error(this.avatars.fallback);
this.setupAvatarFallback(this.$el);
// add placeholder support for old browsers
this.$("input, textarea").placeholder();
@@ -103,22 +103,25 @@ app.views.Base = Backbone.View.extend({
this.model.set(_.inject(this.formAttrs, _.bind(setValueFromField, this), {}));
},
report: function(evt) {
if(evt) { evt.preventDefault(); }
var msg = prompt(Diaspora.I18n.t('report.prompt'), Diaspora.I18n.t('report.prompt_default'));
if (msg == null) {
return;
setupReport: function() {
const reportForm = document.getElementById("report-content-form");
if (reportForm) {
reportForm.addEventListener("submit", this.onSubmitReport);
}
var data = {
report: {
item_id: this.model.id,
item_type: $(evt.currentTarget).data("type"),
text: msg
}
},
onSubmitReport: function(ev) {
if (ev) { ev.preventDefault(); }
const form = ev.currentTarget;
$("#reportModal").modal("hide");
const textarea = document.getElementById("report-reason-field");
const report = {
item_id: form.dataset.reportId,
item_type: form.dataset.reportType,
text: textarea.value
};
var report = new app.models.Report();
report.save(data, {
new app.models.Report().save({report: report}, {
success: function() {
app.flashMessages.success(Diaspora.I18n.t("report.status.created"));
},
@@ -128,23 +131,34 @@ app.views.Base = Backbone.View.extend({
});
},
report: function(evt) {
if (evt) { evt.preventDefault(); }
const form = document.getElementById("report-content-form");
form.dataset.reportId = this.model.id;
form.dataset.reportType = evt.currentTarget.dataset.type;
document.getElementById("report-reason-field").value = "";
document.getElementById("report-reason-field").focus();
$("#reportModal").modal();
},
destroyConfirmMsg: function() { return Diaspora.I18n.t("confirm_dialog"); },
destroyModel: function(evt) {
evt && evt.preventDefault();
var self = this;
var url = this.model.urlRoot + "/" + this.model.id;
const url = this.model.urlRoot + "/" + this.model.id;
if( confirm(_.result(this, "destroyConfirmMsg")) ) {
this.$el.addClass("deleting");
this.model.destroy({ url: url })
.done(function() {
self.remove();
})
.fail(function() {
self.$el.removeClass("deleting");
this.model.destroy({
url: url,
success: function() {
this.remove();
}.bind(this),
error: function() {
this.$el.removeClass("deleting");
app.flashMessages.error(Diaspora.I18n.t("failed_to_remove"));
});
}.bind(this)
});
}
},
@@ -153,6 +167,10 @@ app.views.Base = Backbone.View.extend({
$(this).attr("src", ImagePaths.get("user/default.png"));
},
selector: "img.avatar"
},
setupAvatarFallback: function(el) {
el.find(this.avatars.selector).on("error", this.avatars.fallback);
}
});

View File

@@ -21,10 +21,6 @@ app.views.AspectCreate = app.views.Base.extend({
});
},
_contactsVisible: function() {
return this.$("#aspect_contacts_visible").is(":checked");
},
_name: function() {
return this.$("#aspect_name").val();
},
@@ -71,8 +67,7 @@ app.views.AspectCreate = app.views.Base.extend({
app.aspects.create({
"person_id": this._personId || null,
"name": this._name(),
"contacts_visible": this._contactsVisible()
"name": this._name()
});
},

View File

@@ -9,17 +9,15 @@
*/
app.views.AspectMembership = app.views.Base.extend({
templateName: "aspect_membership_dropdown",
className: "btn-group aspect_dropdown aspect_membership_dropdown",
className: "btn-group aspect-dropdown aspect-membership-dropdown",
subviews: {
".newAspectContainer": "aspectCreateView"
},
events: {
"click ul.aspect_membership.dropdown-menu > li.aspect_selector"
: "_clickHandler",
"keypress ul.aspect_membership.dropdown-menu > li.aspect_selector"
: "_clickHandler"
"click ul.aspect-membership.dropdown-menu > li.aspect_selector": "_clickHandler",
"keypress ul.aspect-membership.dropdown-menu > li.aspect_selector": "_clickHandler"
},
initialize: function(opts) {
@@ -124,7 +122,7 @@ app.views.AspectMembership = app.views.Base.extend({
// show an error flash msg
_displayError: function(model, resp) {
this._done();
this.dropdown.closest(".aspect_membership_dropdown").removeClass("open"); // close the dropdown
this.dropdown.closest(".aspect-membership-dropdown").removeClass("open"); // close the dropdown
app.flashMessages.handleAjaxError(resp);
},
@@ -144,7 +142,7 @@ app.views.AspectMembership = app.views.Base.extend({
this.render();
// we just removed the last aspect, inform the user with a flash message
// that he is no longer sharing with that person
// that they are no longer sharing with that person
if (this.$el.find("li.selected").length === 0) {
var msg = Diaspora.I18n.t("aspect_dropdown.stopped_sharing_with", { "name": this._name() });
stopSharing = true;

View File

@@ -27,16 +27,14 @@ app.views.AspectsDropdown = app.views.Base.extend({
},
// change class and text of the dropdown button
_updateButton: function(inAspectClass) {
var button = this.$('.btn.dropdown-toggle'),
_updateButton: function() {
let button = this.$(".btn.dropdown-toggle"),
selectedAspects = this.$(".dropdown-menu > li.selected").length,
buttonText;
if (selectedAspects === 0) {
button.removeClass(inAspectClass).addClass('btn-default');
buttonText = Diaspora.I18n.t("aspect_dropdown.select_aspects");
} else {
button.removeClass('btn-default').addClass(inAspectClass);
if (selectedAspects === 1) {
buttonText = this.$(".dropdown-menu > li.selected .text").first().text();
} else {

View File

@@ -12,7 +12,7 @@ app.views.BackToTop = Backbone.View.extend({
backToTop: function(evt) {
evt.preventDefault();
$("html, body").animate({scrollTop: 0});
$("html, body").animate({scrollTop: 0}, this.toggleVisibility);
},
toggleVisibility: function() {

View File

@@ -0,0 +1,10 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
//= require ./publisher/mention_view
app.views.CommentMention = app.views.PublisherMention.extend({
initialize: function(opts) {
opts.url = Routes.mentionablePost(opts.postId);
app.views.PublisherMention.prototype.initialize.call(this, opts);
}
});
// @license-end

View File

@@ -7,10 +7,10 @@ app.views.CommentStream = app.views.Base.extend({
className : "comment_stream",
events: {
"keydown .comment_box": "keyDownOnCommentBox",
"keydown .comment-box": "keyDownOnCommentBox",
"submit form": "createComment",
"focus .comment_box": "commentTextareaFocused",
"click .toggle_post_comments": "expandComments"
"click .toggle_post_comments": "expandComments",
"click form": "openForm"
},
initialize: function() {
@@ -21,12 +21,24 @@ app.views.CommentStream = app.views.Base.extend({
setupBindings: function() {
this.model.comments.bind("add", this.appendComment, this);
this.model.comments.bind("remove", this.removeComment, this);
$(document.body).click(this.onFormBlur.bind(this));
},
postRenderTemplate : function() {
this.model.comments.each(this.appendComment, this);
this.commentBox = this.$(".comment_box");
this.commentBox = this.$(".comment-box");
this.commentSubmitButton = this.$("input[name='commit']");
this.mentions = new app.views.CommentMention({el: this.$el, postId: this.model.get("id")});
this.mdEditor = new Diaspora.MarkdownEditor(this.$(".comment-box"), {
onPreview: function($mdInstance) {
var renderedText = app.helpers.textFormatter($mdInstance.getContent(), this.mentions.getMentionedPeople());
return "<div class='preview-content'>" + renderedText + "</div>";
}.bind(this),
onFocus: this.openForm.bind(this)
});
this.$("form").areYouSure();
},
presenter: function(){
@@ -52,11 +64,14 @@ app.views.CommentStream = app.views.Base.extend({
success: function() {
this.commentBox.val("");
this.enableCommentBox();
this.mdEditor.hidePreview();
this.closeForm();
autosize.update(this.commentBox);
}.bind(this),
error: function() {
this.enableCommentBox();
this.commentBox.focus();
this.mdEditor.hidePreview();
this.openForm();
}.bind(this)
});
},
@@ -72,7 +87,7 @@ app.views.CommentStream = app.views.Base.extend({
},
keyDownOnCommentBox: function(evt) {
if(evt.which === Keycodes.ENTER && evt.ctrlKey) {
if (evt.which === Keycodes.ENTER && (evt.metaKey || evt.ctrlKey)) {
this.$("form").submit();
return false;
}
@@ -105,7 +120,8 @@ app.views.CommentStream = app.views.Base.extend({
// on post ownership in the Comment view.
comment.set({parent : this.model.toJSON()});
var commentHtml = new this.CommentView({model: comment}).render().el;
var commentView = new this.CommentView({model: comment});
var commentHtml = commentView.render().el;
var commentBlocks = this.$(".comments div.comment.media");
this._moveInsertPoint(comment.get("created_at"), commentBlocks);
if (this._insertPoint >= commentBlocks.length) {
@@ -115,14 +131,14 @@ app.views.CommentStream = app.views.Base.extend({
} else {
commentBlocks.eq(this._insertPoint).before(commentHtml);
}
commentView.renderPluginWidgets();
},
removeComment: function(comment) {
this.$("#" + comment.get("guid")).closest(".comment.media").remove();
},
commentTextareaFocused: function(){
this.$("form").removeClass('hidden').addClass("open");
var result = this.$("#" + comment.get("guid")).closest(".comment.media").remove();
if (result.hasClass("deleting")) {
this.model.interactions.removedComment();
}
},
expandComments: function(evt){
@@ -134,6 +150,37 @@ app.views.CommentStream = app.views.Base.extend({
this.$(".loading-comments").addClass("hidden");
}.bind(this)
});
},
openForm: function() {
this.$("form").addClass("open");
this.$(".md-editor").addClass("active");
},
closeForm: function() {
this.$("form").removeClass("open");
this.$(".md-editor").removeClass("active");
this.commentBox.blur();
autosize.update(this.commentBox);
},
isCloseAllowed: function() {
if (this.mdEditor === undefined) {
return true;
}
return !this.mdEditor.isPreviewMode() && this.mdEditor.userInputEmpty();
},
onFormBlur: function(evt) {
if (!this.isCloseAllowed()) {
return;
}
var $target = $(evt.target);
var isForm = $target.hasClass("new-comment") || $target.parents(".new-comment").length !== 0;
if (!isForm && !$target.hasClass("focus_comment_textarea")) {
this.closeForm();
}
}
});
// @license-end

View File

@@ -4,41 +4,60 @@
app.views.Comment = app.views.Content.extend({
templateName: "comment",
className : "comment media",
tooltipSelector: "time",
events : function() {
subviews: {
".likes-on-comment": "likesInfoView"
},
events: function() {
return _.extend({}, app.views.Content.prototype.events, {
"click .comment_delete": "destroyModel",
"click .comment_report": "report"
"click .comment_report": "report",
"click .like": "toggleLike"
});
},
initialize : function(options){
initialize: function(options) {
this.templateName = options.templateName || this.templateName;
this.model.interactions.on("change", this.render, this);
this.model.on("change", this.render, this);
},
presenter : function() {
presenter: function() {
return _.extend(this.defaultPresenter(), {
canRemove: this.canRemove(),
text : app.helpers.textFormatter(this.model.get("text"))
text: app.helpers.textFormatter(this.model.get("text"), this.model.get("mentioned_people")),
likesCount: this.model.attributes.likesCount,
userLike: this.model.interactions.userLike()
});
},
ownComment : function() {
ownComment: function() {
return app.currentUser.authenticated() && this.model.get("author").diaspora_id === app.currentUser.get("diaspora_id");
},
postOwner : function() {
postOwner: function() {
return app.currentUser.authenticated() && this.model.get("parent").author.diaspora_id === app.currentUser.get("diaspora_id");
},
canRemove : function() {
canRemove: function() {
return app.currentUser.authenticated() && (this.ownComment() || this.postOwner());
},
toggleLike: function(evt) {
if (evt) { evt.preventDefault(); }
this.model.interactions.toggleLike();
},
likesInfoView: function() {
return new app.views.LikesInfo({model: this.model});
}
});
app.views.ExpandedComment = app.views.Comment.extend({
postRenderTemplate : function(){
this.bindMediaEmbedThumbClickEvent();
}
});
// @license-end

View File

@@ -18,7 +18,7 @@ app.views.ContactStream = Backbone.View.extend({
$("#paginate .loader").removeClass("hidden");
$.ajax(this._fetchUrl(), {
context: this
}).success(function(response) {
}).done(function(response) {
if (response.length === 0) {
this.onEmptyResponse();
} else {

View File

@@ -4,7 +4,7 @@ app.views.Contact = app.views.Base.extend({
templateName: 'contact',
subviews: {
".aspect_membership_dropdown": "AspectMembershipView"
".aspect-membership-dropdown": "AspectMembershipView"
},
events: {

View File

@@ -10,7 +10,6 @@ app.views.Content = app.views.Base.extend({
text : app.helpers.textFormatter(this.model.get("text"), this.model.get("mentioned_people")),
largePhoto : this.largePhoto(),
smallPhotos : this.smallPhotos(),
location: this.location(),
isReshare : this.model.get("post_type") === "Reshare"
});
},
@@ -18,15 +17,14 @@ app.views.Content = app.views.Base.extend({
largePhoto : function() {
var photos = this.model.get("photos");
if(!photos || photos.length === 0) { return }
if (!photos || photos.length === 0) { return false; }
return photos[0];
},
smallPhotos : function() {
var photos = this.model.get("photos");
if(!photos || photos.length < 2) { return }
photos.splice(0, 1); // remove first photo as it is already shown as largePhoto
return photos;
if (!photos || photos.length < 2) { return false; }
return photos.slice(1); // remove first photo as it is already shown as largePhoto
},
expandPost: function(evt) {
@@ -38,11 +36,6 @@ app.views.Content = app.views.Base.extend({
$(evt.currentTarget).hide();
},
location: function(){
var location = this.model.get("location")? this.model.get("location") : "";
return location;
},
collapseOversized : function() {
var collHeight = 200
, elem = this.$(".collapsible")
@@ -70,7 +63,29 @@ app.views.Content = app.views.Base.extend({
}
},
// This function is called when user clicks cover for HTML5 embedded video
onVideoThumbClick: function(evt) {
var clickedThumb;
if ($(evt.target).hasClass("thumb")) {
clickedThumb = $(evt.target);
} else {
clickedThumb = $(evt.target).parent(".thumb");
}
clickedThumb.find(".video-overlay").addClass("hidden");
clickedThumb.parents(".collapsed").children(".expander").click();
var video = clickedThumb.find("video");
video.attr("controls", "");
video.get(0).load();
video.get(0).play();
clickedThumb.unbind("click");
},
bindMediaEmbedThumbClickEvent: function() {
this.$(".media-embed .thumb").bind("click", this.onVideoThumbClick);
},
postRenderTemplate : function(){
this.bindMediaEmbedThumbClickEvent();
_.defer(_.bind(this.collapseOversized, this));
// run collapseOversized again after all contained images are loaded
@@ -87,7 +102,7 @@ app.views.Content = app.views.Base.extend({
});
});
var photoAttachments = this.$(".photo_attachments");
var photoAttachments = this.$(".photo-attachments");
if(photoAttachments.length > 0) {
new app.views.Gallery({ el: photoAttachments });
}
@@ -100,7 +115,9 @@ app.views.StatusMessage = app.views.Content.extend({
app.views.ExpandedStatusMessage = app.views.StatusMessage.extend({
postRenderTemplate : function(){
var photoAttachments = this.$(".photo_attachments");
this.bindMediaEmbedThumbClickEvent();
var photoAttachments = this.$(".photo-attachments");
if(photoAttachments.length > 0) {
new app.views.Gallery({ el: photoAttachments });
}

View File

@@ -1,6 +1,6 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
app.views.ConversationsForm = Backbone.View.extend({
app.views.ConversationsForm = app.views.Base.extend({
el: ".conversations-form-container",
events: {
@@ -24,6 +24,8 @@ app.views.ConversationsForm = Backbone.View.extend({
remoteRoute: {url: "/contacts", extraParameters: "mutual=true"}
});
this.newConversationMdEditor = this.renderMarkdownEditor("#new-message-text");
this.bindTypeaheadEvents();
this.tagListElement.empty();
@@ -31,20 +33,32 @@ app.views.ConversationsForm = Backbone.View.extend({
this.prefill(opts.prefill);
}
this.$("form#new-conversation").on("ajax:success", this.conversationCreateSuccess);
this.$("form#new-conversation").on("ajax:success", this.conversationCreateSuccess.bind(this));
this.$("form#new-conversation").on("ajax:error", this.conversationCreateError);
},
renderMarkdownEditor: function(element) {
return new Diaspora.MarkdownEditor($(element), {
onPreview: Diaspora.MarkdownEditor.simplePreview
});
},
addRecipient: function(person) {
this.conversationRecipients.push(person);
this.updateContactIdsListInput();
/* eslint-disable camelcase */
this.tagListElement.append(HandlebarsTemplates.conversation_recipient_tag_tpl(person));
var personEl = $(HandlebarsTemplates.conversation_recipient_tag_tpl(person)).appendTo(this.tagListElement);
/* eslint-enable camelcase */
this.setupAvatarFallback(personEl);
},
prefill: function(handles) {
handles.forEach(this.addRecipient.bind(this));
prefill: function(people) {
people.forEach(function(person) {
this.addRecipient(_.extend({
avatar: person.get("profile").avatar.small,
handle: person.get("diaspora_id")
}, person.attributes));
}, this);
},
updateContactIdsListInput: function() {
@@ -65,7 +79,7 @@ app.views.ConversationsForm = Backbone.View.extend({
},
keyDown: function(evt) {
if (evt.which === Keycodes.ENTER && evt.ctrlKey) {
if (evt.which === Keycodes.ENTER && (evt.metaKey || evt.ctrlKey)) {
$(evt.target).parents("form").submit();
}
},
@@ -83,6 +97,7 @@ app.views.ConversationsForm = Backbone.View.extend({
},
conversationCreateSuccess: function(evt, data) {
this.newConversationMdEditor.hidePreview();
app._changeLocation(Routes.conversation(data.id));
},

View File

@@ -1,6 +1,6 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
app.views.ConversationsInbox = Backbone.View.extend({
app.views.ConversationsInbox = app.views.Base.extend({
el: "#conversations-container",
events: {
@@ -8,11 +8,21 @@ app.views.ConversationsInbox = Backbone.View.extend({
"click .new-conversation-btn": "displayNewConversation"
},
initialize: function() {
new app.views.ConversationsForm();
initialize: function(conversationId) {
this.conversationForm = new app.views.ConversationsForm();
// Creates markdown editor in case of displaying preloaded conversation
if (conversationId != null) {
this.renderMarkdownEditor();
}
this.setupConversation();
},
renderMarkdownEditor: function() {
this.conversationForm.renderMarkdownEditor("#conversation-show .conversation-message-text");
},
renderConversation: function(conversationId) {
var self = this;
$.ajax({
@@ -23,6 +33,8 @@ app.views.ConversationsInbox = Backbone.View.extend({
self.$el.find("#conversation-show").removeClass("hidden").html(data);
self.selectConversation(conversationId);
self.setupConversation();
self.renderMarkdownEditor();
autosize(self.$("#conversation-show textarea"));
}
});
},
@@ -46,6 +58,7 @@ app.views.ConversationsInbox = Backbone.View.extend({
setupConversation: function() {
app.helpers.timeago($(this.el));
$(".control-icons a").tooltip({placement: "bottom"});
this.setupAvatarFallback(this.$el);
var conv = $(".conversation-wrapper .stream-element.selected"),
cBadge = $("#conversations-link .badge");

View File

@@ -31,12 +31,20 @@ app.views.Gallery = app.views.Base.extend({
return {
index: link,
event: event,
hidePageScrollbars: false,
disableScroll: true,
continuous: true,
toggleControlsOnReturn: false,
onopened: this.preventHideControls,
slideshowInterval: 2000
slideshowInterval: 2000,
onslidecomplete: function(index, slide) {
// If the image is very tall (more than twice its width), then it is scrollable instead of resized
var image = slide.firstElementChild;
if (image.naturalHeight > window.innerHeight && image.naturalHeight > image.naturalWidth * 2) {
image.classList.add("too-tall");
} else {
var margins = 110; // Margins are 80px for thumbnails height and 15px for top image margin + scroll-x height
image.style = "max-height: " + (window.innerHeight - margins) + "px";
}
}
};
}
});

View File

@@ -4,32 +4,35 @@ app.views.Help = app.views.StaticContentView.extend({
templateName : "help",
events : {
"click .faq-link" : "sectionClicked",
"click .faq-link-getting-help" : "gettingHelp",
"click .faq-link-sharing" : "sharing",
"click .faq-link-posts-and-posting" : "postsAndPosting",
"click .faq-link": "sectionClicked",
"click .faq-link-getting-help": "gettingHelp",
"click .faq-link-sharing": "sharing",
"click .faq-link-posts-and-posting": "postsAndPosting",
"click .faq-link-tags": "tags",
"click .faq-link-keyboard-shortcuts" : "keyboardShortcuts",
"click .faq-link-chat" : "chat"
"click .faq-link-keyboard-shortcuts": "keyboardShortcuts"
},
/* eslint-disable camelcase */
initialize : function() {
this.GETTING_HELP_SUBS = {
getting_started_a: { tutorial_series: this.linkHtml("http://diasporafoundation.org/getting_started/sign_up", Diaspora.I18n.t( 'getting_started_tutorial' )) },
get_support_a_website: { link: this.linkHtml("https://diasporafoundation.org/", Diaspora.I18n.t( 'foundation_website' ))},
get_support_a_tutorials: { tutorials: this.linkHtml("https://diasporafoundation.org/tutorials", Diaspora.I18n.t( 'tutorials' ))},
get_support_a_wiki: { link: this.linkHtml("https://wiki.diasporafoundation.org/Special:Search", Diaspora.I18n.t( 'wiki' ))},
get_support_a_irc: { irc: this.linkHtml("https://wiki.diasporafoundation.org/How_We_Communicate#IRC", Diaspora.I18n.t( 'irc' ))},
get_support_a_faq: { faq: this.linkHtml("https://wiki.diasporafoundation.org/FAQ_for_users", Diaspora.I18n.t( 'faq' ))},
get_support_a_hashtag: { question: this.linkHtml("/tags/question", "#question")}
getting_started_a: {tutorial_series: this.linkHtml("https://diasporafoundation.org/getting_started/sign_up", Diaspora.I18n.t("getting_started_tutorial"))},
get_support_a_website: {link: this.linkHtml("https://diasporafoundation.org/", Diaspora.I18n.t("foundation_website"))},
get_support_a_tutorials: {tutorials: this.linkHtml("https://diasporafoundation.org/tutorials", Diaspora.I18n.t("tutorials"))},
get_support_a_wiki: {link: this.linkHtml("https://wiki.diasporafoundation.org/Special:Search", Diaspora.I18n.t("wiki"))},
get_support_a_irc: {irc: this.linkHtml("https://wiki.diasporafoundation.org/How_We_Communicate#IRC", Diaspora.I18n.t("irc"))},
get_support_a_faq: {faq: this.linkHtml("https://wiki.diasporafoundation.org/FAQ_for_users", Diaspora.I18n.t("faq"))},
get_support_a_hashtag: {question: this.linkHtml("/tags/question", "#question")},
get_support_a_discourse: {discourse: this.linkHtml("https://discourse.diasporafoundation.org/c/support", "discussions & support")}
};
this.POSTS_AND_POSTING_SUBS = {
post_report_a: {community_guidelines: this.linkHtml("https://diasporafoundation.org/community_guidelines", Diaspora.I18n.t("community_guidelines"))},
format_text_a: {
markdown: this.linkHtml("http://diasporafoundation.org/formatting", Diaspora.I18n.t( 'markdown' )),
here: this.linkHtml("http://daringfireball.net/projects/markdown/syntax", Diaspora.I18n.t( 'here' ))
markdown: this.linkHtml("https://diasporafoundation.org/formatting", Diaspora.I18n.t("markdown")),
here: this.linkHtml("https://daringfireball.net/projects/markdown/syntax", Diaspora.I18n.t("here"))
}
};
/* eslint-enable camelcase */
this.TAGS_SUBS = {
filter_tags_a: {
@@ -37,32 +40,22 @@ app.views.Help = app.views.StaticContentView.extend({
}
};
this.CHAT_SUBS = {
add_contact_roster_a: {
toggle_privilege: this.getChatIcons(),
contacts_page: this.linkHtml(Routes.contacts(), Diaspora.I18n.t("chat.contacts_page"))
}
};
this.data = {
title_header: Diaspora.I18n.t( 'title_header' ),
title_getting_help: Diaspora.I18n.t( 'getting_help.title' ),
title_account_and_data_management: Diaspora.I18n.t( 'account_and_data_management.title' ),
title_aspects: Diaspora.I18n.t( 'aspects.title' ),
title_mentions: Diaspora.I18n.t( 'mentions.title' ),
title_pods: Diaspora.I18n.t( 'pods.title' ),
title_posts_and_posting: Diaspora.I18n.t( 'posts_and_posting.title' ),
title_private_posts: Diaspora.I18n.t( 'private_posts.title' ),
title_private_profiles: Diaspora.I18n.t( 'private_profiles.title' ),
title_public_posts: Diaspora.I18n.t( 'public_posts.title' ),
title_public_profiles: Diaspora.I18n.t( 'public_profiles.title' ),
title_resharing_posts: Diaspora.I18n.t( 'resharing_posts.title' ),
title_sharing: Diaspora.I18n.t( 'sharing.title' ),
title_tags: Diaspora.I18n.t( 'tags.title' ),
title_keyboard_shortcuts: Diaspora.I18n.t( 'keyboard_shortcuts.title' ),
title_miscellaneous: Diaspora.I18n.t( 'miscellaneous.title' ),
title_chat: Diaspora.I18n.t( 'chat.title' ),
chat_enabled: this.chatEnabled()
title_header: Diaspora.I18n.t("title_header"),
title_getting_help: Diaspora.I18n.t("getting_help.title"),
title_account_and_data_management: Diaspora.I18n.t("account_and_data_management.title"),
title_aspects: Diaspora.I18n.t("aspects.title"),
title_mentions: Diaspora.I18n.t("mentions.title"),
title_pods: Diaspora.I18n.t("pods.title"),
title_posts_and_posting: Diaspora.I18n.t("posts_and_posting.title"),
title_private_posts: Diaspora.I18n.t("private_posts.title"),
title_public_posts: Diaspora.I18n.t("public_posts.title"),
title_resharing_posts: Diaspora.I18n.t("resharing_posts.title"),
title_profile: Diaspora.I18n.t("profile.title"),
title_sharing: Diaspora.I18n.t("sharing.title"),
title_tags: Diaspora.I18n.t("tags.title"),
title_keyboard_shortcuts: Diaspora.I18n.t("keyboard_shortcuts.title"),
title_miscellaneous: Diaspora.I18n.t("miscellaneous.title")
};
return this;
@@ -198,27 +191,8 @@ app.views.Help = app.views.StaticContentView.extend({
e.preventDefault();
},
chat: function(e){
this.renderStaticSection("chat", "faq_chat", this.CHAT_SUBS);
this.menuClicked(e);
e.preventDefault();
},
linkHtml: function(url, text) {
return "<a href=\"" + url + "\" target=\"_blank\">" + text + "</a>";
},
chatEnabled: function(){
return gon.appConfig.chat.enabled;
},
getChatIcons: function(){
return "<div class=\"help-chat-icons\">" +
" <i class=\"entypo-lock-open\"></i>" +
" <i class=\"entypo-chat\"></i>" +
" <i class=\"entypo-trash\"></i>" +
"</div>";
}
});
// @license-end

View File

@@ -19,10 +19,15 @@ app.views.Hovercard = app.views.Base.extend({
this.showMe = false;
this.parent = null; // current 'hovercardable' element that caused HC to appear
this.active = true;
},
presenter: function() {
return _.extend({}, this.defaultPresenter(), {
person: this.person
});
},
postRenderTemplate: function() {
this.$el.appendTo($("body"));
@@ -91,7 +96,7 @@ app.views.Hovercard = app.views.Base.extend({
this.parent = el;
this._positionHovercard();
this._populateHovercard();
}, 700),
}, 1000),
_populateHovercard: function() {
var href = this.href();
@@ -102,14 +107,14 @@ app.views.Hovercard = app.views.Base.extend({
if( !person || person.length === 0 ) {
throw new Error("received data is not a person object");
}
var personModel = new app.models.Person(person);
person.is_sharing = personModel.isSharing();
self.person = person;
if (app.currentUser.authenticated()) {
self.aspectMembershipDropdown = new app.views.AspectMembership({person: new app.models.Person(person)});
self.aspectMembershipDropdown = new app.views.AspectMembership({person: personModel});
}
self.render();
self._populateHovercardWith(person);
if( !self.showMe ) {
// mouse has left element
return;
@@ -118,23 +123,6 @@ app.views.Hovercard = app.views.Base.extend({
});
},
_populateHovercardWith: function(person) {
this.avatarLink.attr("href", this.href());
this.personLink.attr("href", this.href());
this.personLink.text(person.name);
this.personID.text(person.diaspora_id);
if (person.profile) {
this.avatar.attr("src", person.profile.avatar);
// set hashtags
this.hashtags.empty();
this.hashtags.html($(_.map(person.profile.tags, function(tag) {
return $("<a/>", {href: Routes.tag(tag)}).text("#" + tag)[0];
})));
}
},
_positionHovercard: function() {
var p_pos = this.parent.offset();
var p_height = this.parent.height();

View File

@@ -51,6 +51,12 @@ app.views.InfScroll = app.views.Base.extend({
}
},
postRenderTemplate: function() {
if (this.postViews.length > 0) {
this.$(".no-posts-info").closest(".stream-element").remove();
}
},
showNoPostsInfo: function() {
if (this.postViews.length === 0) {
var noPostsInfo = new app.views.NoPostsInfo();

View File

@@ -1,6 +1,6 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
app.views.LocationStream = app.views.Content.extend({
app.views.LocationStream = app.views.Base.extend({
events: {
"click .near-from": "toggleMap"
},

View File

@@ -19,7 +19,7 @@ app.views.Location = Backbone.View.extend({
var locator = new OSM.Locator();
locator.getAddress(function(address, latlng){
$(element).empty();
$("<input/>",
$("<input></input>",
{ id: "location_address",
value: address,
type: "text",

View File

@@ -12,7 +12,7 @@ app.views.NotificationDropdown = app.views.Base.extend({
this.dropdown = $("#notification-dropdown");
this.dropdownNotifications = this.dropdown.find(".notifications");
this.ajaxLoader = this.dropdown.find(".ajax-loader");
this.perfectScrollbarInitialized = false;
this.perfectScrollbar = null;
this.dropdownNotifications.scroll(this.dropdownScroll.bind(this));
this.bindCollectionEvents();
},
@@ -21,11 +21,11 @@ app.views.NotificationDropdown = app.views.Base.extend({
this.collection.on("pushFront", this.onPushFront.bind(this));
this.collection.on("pushBack", this.onPushBack.bind(this));
this.collection.on("finishedLoading", this.finishLoading.bind(this));
this.collection.on("change:note_html", this.onNotificationChange.bind(this));
},
toggleDropdown: function(evt){
evt.stopPropagation();
if (!$("#notifications-link .entypo-bell:visible").length) { return true; }
evt.preventDefault();
if(this.dropdownShowing()){ this.hideDropdown(evt); }
else{ this.showDropdown(); }
@@ -76,15 +76,26 @@ app.views.NotificationDropdown = app.views.Base.extend({
},
onPushBack: function(notification) {
var node = this.dropdownNotifications.append(notification.get("note_html"));
$(node).find(".unread-toggle .entypo-eye").tooltip("destroy").tooltip();
$(node).find(this.avatars.selector).error(this.avatars.fallback);
var node = $(notification.get("note_html"));
this.dropdownNotifications.append(node);
this.afterNotificationChanges(node);
},
onPushFront: function(notification) {
var node = this.dropdownNotifications.prepend(notification.get("note_html"));
$(node).find(".unread-toggle .entypo-eye").tooltip("destroy").tooltip();
$(node).find(this.avatars.selector).error(this.avatars.fallback);
var node = $(notification.get("note_html"));
this.dropdownNotifications.prepend(node);
this.afterNotificationChanges(node);
},
onNotificationChange: function(notification) {
var node = $(notification.get("note_html"));
this.dropdownNotifications.find("[data-guid=" + notification.get("id") + "]").replaceWith(node);
this.afterNotificationChanges(node);
},
afterNotificationChanges: function(node) {
node.find(".unread-toggle .entypo-eye").tooltip("destroy").tooltip();
this.setupAvatarFallback(node);
},
finishLoading: function() {
@@ -95,18 +106,17 @@ app.views.NotificationDropdown = app.views.Base.extend({
},
updateScrollbar: function() {
if(this.perfectScrollbarInitialized) {
this.dropdownNotifications.perfectScrollbar("update");
if (this.perfectScrollbar) {
this.perfectScrollbar.update();
} else {
this.dropdownNotifications.perfectScrollbar();
this.perfectScrollbarInitialized = true;
this.perfectScrollbar = new PerfectScrollbar(this.dropdownNotifications[0]);
}
},
destroyScrollbar: function() {
if(this.perfectScrollbarInitialized) {
this.dropdownNotifications.perfectScrollbar("destroy");
this.perfectScrollbarInitialized = false;
if (this.perfectScrollbar) {
this.perfectScrollbar.destroy();
this.perfectScrollbar = null;
}
}
});

View File

@@ -28,7 +28,8 @@ app.views.Notifications = Backbone.View.extend({
}
},
markAllRead: function() {
markAllRead: function(evt) {
evt.preventDefault();
this.collection.setAllRead();
},

View File

@@ -2,23 +2,16 @@
app.views.Photos = app.views.InfScroll.extend({
className: "clearfix row",
postClass : app.views.Photo,
initialize : function() {
this.stream = this.model;
this.collection = this.stream.items;
new app.views.Gallery({el: this.$el});
// viable for extraction
this.stream.fetch();
this.setupInfiniteScroll();
},
postRenderTemplate: function(){
var photoAttachments = $("#main_stream > div");
if(photoAttachments.length > 0) {
new app.views.Gallery({ el: photoAttachments });
}
}
});
// @license-end

View File

@@ -27,12 +27,13 @@ app.views.PodEntry = app.views.Base.extend({
presenter: function() {
return _.extend({}, this.defaultPresenter(), {
/* jshint camelcase: false */
hasPort: (this.model.get("port") >= 0),
is_unchecked: (this.model.get("status")==="unchecked"),
has_no_errors: (this.model.get("status")==="no_errors"),
has_errors: (this.model.get("status")!=="no_errors"),
status_text: Diaspora.I18n.t("admin.pods.states."+this.model.get("status")),
pod_url: (this.model.get("ssl") ? "https" : "http") + "://" + this.model.get("host") +
(this.model.get("port") ? ":" + this.model.get("port") : ""),
(this.model.get("port") >= 0 ? ":" + this.model.get("port") : ""),
response_time_fmt: this._fmtResponseTime()
/* jshint camelcase: true */
});

View File

@@ -5,7 +5,7 @@ app.views.Poll = app.views.Base.extend({
events: {
"click .submit" : "clickSubmit",
"click .toggle_result" : "toggleResult"
"click .toggle-result": "toggleResult"
},
initialize: function() {
@@ -17,15 +17,22 @@ app.views.Poll = app.views.Base.extend({
var isReshare = (this.model.get('post_type') === 'Reshare');
var showForm = defaultPresenter.loggedIn &&
!isReshare &&
!this.model.get('already_participated_in_poll');
!this.model.get("poll_participation_answer_id");
var originalPostLink = isReshare && this.model.get('root') ?
'<a href="/posts/' + this.model.get('root').id + '" class="root_post_link">' + Diaspora.I18n.t('poll.original_post') + '</a>' :
'';
var answerGiven = this.model.get("poll_participation_answer_id");
if (defaultPresenter.poll && defaultPresenter.poll.poll_answers) {
defaultPresenter.poll.poll_answers.forEach(function(answer) {
_.extend(answer, {isCurrentUserVote: answerGiven ? answer.id === answerGiven : false});
});
}
return _.extend(defaultPresenter, {
show_form: showForm,
is_reshare: isReshare,
original_post_link: originalPostLink
originalPostLink: originalPostLink
});
},
@@ -48,7 +55,7 @@ app.views.Poll = app.views.Base.extend({
percent = Math.round(answer.vote_count / participation_count * 100);
}
var progressBar = _this.$(".poll_progress_bar[data-answerid="+answer.id+"]");
var progressBar = _this.$(".progress-bar[data-answerid=" + answer.id + "]");
_this.setProgressBarData(progressBar, percent);
});
@@ -61,8 +68,8 @@ app.views.Poll = app.views.Base.extend({
pollButtons: function() {
if(!this.poll || !this.poll.post_id) {
this.$('.submit').attr('disabled', true);
this.$('.toggle_result').attr('disabled', true);
this.$(".submit").attr("disabled", true);
this.$(".toggle-result").attr("disabled", true);
}
},
@@ -76,14 +83,14 @@ app.views.Poll = app.views.Base.extend({
}
this.toggleElements();
var toggle_result = this.$('.toggle_result');
var toggleResult = this.$(".toggle-result");
if(!this.toggleMode) {
toggle_result.html(Diaspora.I18n.t("poll.close_result"));
toggleResult.html(Diaspora.I18n.t("poll.close_result"));
this.toggleMode = 1;
}
else {
toggle_result.html(Diaspora.I18n.t("poll.show_result"));
toggleResult.html(Diaspora.I18n.t("poll.show_result"));
this.toggleMode = 0;
}
},

View File

@@ -76,6 +76,11 @@ app.views.PostControls = app.views.Base.extend({
$.post(Routes.postParticipation(this.model.get("id")), {_method: "delete"}, function() {
this.model.set({participation: false});
}.bind(this));
},
destroyModel: function(evt) {
if (evt) { evt.preventDefault(); }
this.post.destroyModel();
}
});
// @license-end

View File

@@ -5,7 +5,6 @@ app.views.PreviewPost = app.views.Post.extend({
className: "stream-element loaded",
subviews: {
".feedback": "feedbackView",
".post-content": "postContentView",
".oembed": "oEmbedView",
".opengraph": "openGraphView",
@@ -13,12 +12,6 @@ app.views.PreviewPost = app.views.Post.extend({
".status-message-location": "postLocationStreamView"
},
tooltipSelector: [
".timeago",
".delete",
".permalink"
].join(", "),
initialize: function() {
this.model.set("preview", true);
this.oEmbedView = new app.views.OEmbed({model: this.model});
@@ -26,10 +19,6 @@ app.views.PreviewPost = app.views.Post.extend({
this.pollView = new app.views.Poll({model: this.model});
},
feedbackView: function() {
return new app.views.Feedback({model: this.model});
},
postContentView: function() {
return new app.views.StatusMessage({model: this.model});
},

View File

@@ -4,7 +4,7 @@ app.views.ProfileHeader = app.views.Base.extend({
templateName: 'profile_header',
subviews: {
".aspect_membership_dropdown": "aspectMembershipView"
".aspect-membership-dropdown": "aspectMembershipView"
},
events: {
@@ -14,7 +14,6 @@ app.views.ProfileHeader = app.views.Base.extend({
initialize: function(opts) {
this.photos = _.has(opts, 'photos') ? opts.photos : null;
this.contacts = _.has(opts, 'contacts') ? opts.contacts : null;
this.model.on("change", this.render, this);
$("#mentionModal").on("modal:loaded", this.mentionModalLoaded.bind(this));
$("#mentionModal").on("hidden.bs.modal", this.mentionModalHidden);
@@ -24,13 +23,11 @@ app.views.ProfileHeader = app.views.Base.extend({
return _.extend({}, this.defaultPresenter(), {
show_profile_btns: this._shouldShowProfileBtns(),
show_photos: this._shouldShowPhotos(),
show_contacts: this._shouldShowContacts(),
is_blocked: this.model.isBlocked(),
is_sharing: this.model.isSharing(),
is_receiving: this.model.isReceiving(),
is_mutual: this.model.isMutual(),
has_tags: this._hasTags(),
contacts: this.contacts,
photos: this.photos
});
},
@@ -51,10 +48,6 @@ app.views.ProfileHeader = app.views.Base.extend({
return (this.photos && this.photos > 0);
},
_shouldShowContacts: function() {
return (this.contacts && this.contacts > 0);
},
showMentionModal: function() {
app.helpers.showModal("#mentionModal");
},
@@ -69,8 +62,8 @@ app.views.ProfileHeader = app.views.Base.extend({
$("#mentionModal").modal("hide");
app.publisher.clear();
app.publisher.remove();
location.reload();
});
app.flashMessages.success(Diaspora.I18n.t("publisher.mention_success", {names: this.model.get("name")}));
}.bind(this));
},
mentionModalHidden: function() {
@@ -81,8 +74,8 @@ app.views.ProfileHeader = app.views.Base.extend({
showMessageModal: function(){
$("#conversationModal").on("modal:loaded", function() {
new app.views.ConversationsForm({prefill: gon.conversationPrefill});
});
new app.views.ConversationsForm({prefill: [this.model]});
}.bind(this));
app.helpers.showModal("#conversationModal");
}
});

View File

@@ -31,7 +31,7 @@ app.views.PublisherAspectSelector = app.views.AspectsDropdown.extend({
}
this._updateSelectedAspectIds();
this._updateButton('btn-default');
this._updateButton();
// update the globe or lock icon
var icon = this.$("#visibility-icon");
@@ -48,7 +48,7 @@ app.views.PublisherAspectSelector = app.views.AspectsDropdown.extend({
updateAspectsSelector: function(ids){
this._selectAspects(ids);
this._updateSelectedAspectIds();
this._updateButton('btn-default');
this._updateButton();
},
// take care of the form fields that will indicate the selected aspects

View File

@@ -2,29 +2,20 @@
app.views.PublisherMention = app.views.SearchBase.extend({
triggerChar: "@",
invisibleChar: "\u200B", // zero width space
mentionRegex: /@([^@\s]+)$/,
templates: {
mentionItemSyntax: _.template("@{<%= name %> ; <%= handle %>}"),
mentionItemHighlight: _.template("<strong><span><%= name %></span></strong>")
},
mentionSyntaxTemplate: function(person) { return "@{" + person.handle + "}"; },
events: {
"keydown #status_message_fake_text": "onInputBoxKeyDown",
"input #status_message_fake_text": "onInputBoxInput",
"click #status_message_fake_text": "onInputBoxClick",
"blur #status_message_fake_text": "onInputBoxBlur"
"keydown .mention-textarea": "onInputBoxKeyDown",
"input .mention-textarea": "updateTypeaheadInput",
"click .mention-textarea": "onInputBoxClick",
"blur .mention-textarea": "onInputBoxBlur"
},
initialize: function() {
initialize: function(opts) {
this.mentionedPeople = [];
// contains the 'fake text' displayed to the user
// also has a data-messageText attribute with the original text
this.inputBox = this.$("#status_message_fake_text");
// contains the mentions displayed to the user
this.mentionsBox = this.$(".mentions-box");
var url = (opts && opts.url) || "/contacts";
this.inputBox = this.$(".mention-textarea");
this.typeaheadInput = this.$(".typeahead-mention-box");
this.bindTypeaheadEvents();
@@ -32,7 +23,7 @@ app.views.PublisherMention = app.views.SearchBase.extend({
typeaheadInput: this.typeaheadInput,
customSearch: true,
autoselect: true,
remoteRoute: {url: "/contacts"}
remoteRoute: {url: url}
});
},
@@ -55,8 +46,8 @@ app.views.PublisherMention = app.views.SearchBase.extend({
cleanMentionedPeople: function() {
var inputText = this.inputBox.val();
this.mentionedPeople = this.mentionedPeople.filter(function(person) {
return person.name && inputText.indexOf(person.name) > -1;
});
return person.handle && inputText.indexOf(this.mentionSyntaxTemplate(person)) > -1;
}.bind(this));
this.ignoreDiasporaIds = this.mentionedPeople.map(function(person) { return person.handle; });
},
@@ -70,41 +61,16 @@ app.views.PublisherMention = app.views.SearchBase.extend({
this.addPersonToMentions(person);
this.closeSuggestions();
messageText = messageText.substring(0, triggerCharPosition) +
this.invisibleChar + person.name + messageText.substring(caretPosition);
var mentionText = this.mentionSyntaxTemplate(person);
messageText = messageText.substring(0, triggerCharPosition) + mentionText + messageText.substring(caretPosition);
this.inputBox.val(messageText);
this.updateMessageTexts();
this.inputBox.focus();
var newCaretPosition = triggerCharPosition + person.name.length + 1;
var newCaretPosition = triggerCharPosition + mentionText.length;
this.inputBox[0].setSelectionRange(newCaretPosition, newCaretPosition);
},
/**
* Replaces every combination of this.invisibleChar + mention.name by the
* correct syntax for both hidden text and visible one.
*
* For instance, the text "Hello \u200Buser1" will be tranformed to
* "Hello @{user1 ; user1@pod.tld}" in the hidden element and
* "Hello <strong><span>user1</span></strong>" in the element visible to the user.
*/
updateMessageTexts: function() {
var fakeMessageText = this.inputBox.val(),
mentionBoxText = _.escape(fakeMessageText),
messageText = fakeMessageText;
this.mentionedPeople.forEach(function(person) {
var mentionName = this.invisibleChar + person.name;
messageText = messageText.replace(mentionName, this.templates.mentionItemSyntax(person));
var textHighlight = this.templates.mentionItemHighlight({name: _.escape(person.name)});
mentionBoxText = mentionBoxText.replace(mentionName, textHighlight);
}, this);
this.inputBox.data("messageText", messageText);
this.mentionsBox.find(".mentions").html(mentionBoxText);
},
updateTypeaheadInput: function() {
var messageText = this.inputBox.val();
var caretPosition = this.inputBox[0].selectionStart;
@@ -115,6 +81,8 @@ app.views.PublisherMention = app.views.SearchBase.extend({
return;
}
this.cleanMentionedPeople();
// result[1] is the string between the last '@' and the current caret position
this.typeaheadInput.typeahead("val", result[1]);
this.typeaheadInput.typeahead("open");
@@ -128,12 +96,11 @@ app.views.PublisherMention = app.views.SearchBase.extend({
prefillMention: function(persons) {
persons.forEach(function(person) {
this.addPersonToMentions(person);
var text = this.invisibleChar + person.name;
var text = this.mentionSyntaxTemplate(person);
if(this.inputBox.val().length !== 0) {
text = this.inputBox.val() + " " + text;
}
this.inputBox.val(text);
this.updateMessageTexts();
}, this);
},
@@ -154,15 +121,6 @@ app.views.PublisherMention = app.views.SearchBase.extend({
this.typeaheadInput.trigger($.Event("keydown", {keyCode: e.keyCode, which: e.which}));
},
/**
* Listens for user input and opens results dropdown when input contains the trigger char
*/
onInputBoxInput: function() {
this.cleanMentionedPeople();
this.updateMessageTexts();
this.updateTypeaheadInput();
},
onInputBoxKeyDown: function(e) {
// This also matches HOME/END on OSX which is CMD+LEFT, CMD+RIGHT
if(e.which === Keycodes.LEFT || e.which === Keycodes.RIGHT ||
@@ -205,7 +163,7 @@ app.views.PublisherMention = app.views.SearchBase.extend({
reset: function() {
this.inputBox.val("");
this.onInputBoxInput();
this.updateTypeaheadInput();
},
closeSuggestions: function() {
@@ -217,7 +175,8 @@ app.views.PublisherMention = app.views.SearchBase.extend({
return this.$(".tt-menu").is(":visible");
},
getTextForSubmit: function() {
return this.mentionedPeople.length ? this.inputBox.data("messageText") : this.inputBox.val();
getMentionedPeople: function() {
this.cleanMentionedPeople();
return this.mentionedPeople;
}
});

View File

@@ -5,125 +5,102 @@
// progress. Attaches previews of finished uploads to the publisher.
app.views.PublisherUploader = Backbone.View.extend({
allowedExtensions: ["jpg", "jpeg", "png", "gif", "tif", "tiff"],
sizeLimit: 4194304, // bytes
initialize: function(opts) {
this.publisher = opts.publisher;
this.uploader = new qq.FileUploaderBasic({
element: this.el,
button: this.el,
//debug: true,
action: "/photos",
params: { photo: { pending: true }},
allowedExtensions: this.allowedExtensions,
sizeLimit: this.sizeLimit,
messages: {
typeError: Diaspora.I18n.t("photo_uploader.invalid_ext"),
sizeError: Diaspora.I18n.t("photo_uploader.size_error"),
emptyError: Diaspora.I18n.t("photo_uploader.empty")
},
onProgress: _.bind(this.progressHandler, this),
onSubmit: _.bind(this.submitHandler, this),
onComplete: _.bind(this.uploadCompleteHandler, this)
});
this.info = $("<div id=\"fileInfo\" />");
this.publisher.wrapperEl.before(this.info);
this.publisher.photozoneEl.on("click", ".x", _.bind(this._removePhoto, this));
},
progressHandler: function(id, fileName, loaded, total) {
var progress = Math.round(loaded / total * 100);
this.info.text(fileName + " " + progress + "%").fadeTo(200, 1);
this.publisher.photozoneEl
.find("li.loading").first().find(".progress-bar")
.width(progress + "%");
},
submitHandler: function() {
this.$el.addClass("loading");
this._addPhotoPlaceholder();
// Initialize the PostPhotoUploader and subscribe its events
this.uploader = new Diaspora.PostPhotoUploader(this.el, opts.dropZoneElementIds);
this.uploader.onUploadStarted = _.bind(this.uploadStartedHandler, this);
this.uploader.onProgress = _.bind(this.progressHandler, this);
this.uploader.onUploadCompleted = _.bind(this.uploadCompleteHandler, this);
},
// add photo placeholders to the publisher to indicate an upload in progress
_addPhotoPlaceholder: function() {
_addPhotoPlaceholder: function(id) {
var publisher = this.publisher;
publisher.setButtonsEnabled(false);
publisher.wrapperEl.addClass("with_attachments");
publisher.photozoneEl.append(
"<li class=\"publisher_photo loading\" style=\"position:relative;\">" +
"<li id=\"upload-" + id + "\"class=\"publisher_photo loading\" style=\"position:relative;\">" +
" <div class=\"progress\">" +
" <div class=\"progress-bar progress-bar-striped active\" role=\"progressbar\"></div>"+
" </div>" +
" <img src=\"\"+Handlebars.helpers.imageUrl(\"ajax-loader2.gif\")+\"\" class=\"ajax-loader\" alt=\"\" />"+
" <div class=\"spinner\"></div>" +
"</li>"
);
},
uploadCompleteHandler: function(_id, fileName, response) {
uploadStartedHandler: function(id) {
this.$el.addClass("loading");
this._addPhotoPlaceholder(id);
},
progressHandler: function(id, fileName, progress) {
this.publisher.photozoneEl
.find("li.loading#upload-" + id + " .progress-bar")
.width(progress + "%");
},
uploadCompleteHandler: function(id, fileName, response) {
if (response.success){
this.info.text(Diaspora.I18n.t("photo_uploader.completed", {file: fileName})).fadeTo(2000, 0);
var photoId = response.data.photo.id,
image = response.data.photo.unprocessed_image;
var id = response.data.photo.id,
url = response.data.photo.unprocessed_image.url;
this._addFinishedPhoto(id, url);
this._addFinishedPhoto(id, photoId, image);
this.trigger("change");
} else {
this._cancelPhotoUpload();
this.trigger("change");
this.info.text(Diaspora.I18n.t("photo_uploader.error", {file: fileName}));
this._cancelPhotoUpload(id);
this.publisher.wrapperEl.find("#photodropzone_container").first().after(
"<div id=\"upload_error\">" +
Diaspora.I18n.t("photo_uploader.error", {file: fileName}) +
Diaspora.I18n.t("photo_uploader.error", {file: fileName}) +
"</div>"
);
this.trigger("change");
}
},
// replace the first photo placeholder with the finished uploaded image and
// add the id to the publishers form
_addFinishedPhoto: function(id, url) {
_addFinishedPhoto: function(id, photoId, image) {
var publisher = this.publisher;
// add form input element
publisher.$(".content_creation form").append(
"<input type=\"hidden\", value=\""+id+"\" name=\"photos[]\" />"
"<input type=\"hidden\", value=\"" + photoId + "\" name=\"photos[]\" />"
);
// replace placeholder
var placeholder = publisher.photozoneEl.find("li.loading").first();
var placeholder = publisher.photozoneEl.find("li.loading#upload-" + id);
var imgElement = document.createElement("img");
imgElement.src = image.thumb_medium.url;
imgElement.classList.add("hidden");
imgElement.dataset.id = photoId;
imgElement.dataset.small = image.thumb_small.url;
imgElement.dataset.scaled = image.scaled_full.url;
placeholder
.removeClass("loading")
.prepend(
"<div class=\"x\"></div>"+
"<div class=\"circle\"></div>"
)
.find("img").attr({"src": url, "data-id": id}).removeClass("ajax-loader");
placeholder
.find("div.progress").remove();
'<div class="x"></div>' +
'<div class="circle"></div>' +
imgElement.outerHTML
).removeClass("loading");
placeholder.find("div.progress").remove();
placeholder.find("img").on("load", function(ev) {
$(ev.target).removeClass("hidden");
placeholder.find(".spinner").remove();
});
// no more placeholders? enable buttons
if( publisher.photozoneEl.find("li.loading").length === 0 ) {
if (publisher.photozoneEl.find("li.loading").length === 0) {
this.$el.removeClass("loading");
publisher.setButtonsEnabled(true);
}
},
_cancelPhotoUpload: function() {
var publisher = this.publisher;
var placeholder = publisher.photozoneEl.find("li.loading").first();
placeholder
.removeClass("loading")
.find("img").remove();
_cancelPhotoUpload: function(id) {
this.publisher.photozoneEl.find("li.loading#upload-" + id).remove();
},
// remove an already uploaded photo
@@ -138,10 +115,10 @@ app.views.PublisherUploader = Backbone.View.extend({
dataType: "json",
type: "DELETE",
success: function() {
$.when(photo.fadeOut(400)).then(function(){
photo.fadeOut(400, function() {
photo.remove();
if( self.publisher.$(".publisher_photo").length === 0 ) {
if (self.publisher.$(".publisher_photo").length === 0) {
// no more photos left...
self.publisher.wrapperEl.removeClass("with_attachments");
}
@@ -150,9 +127,7 @@ app.views.PublisherUploader = Backbone.View.extend({
});
}
});
return false;
}
});
// @license-end

View File

@@ -11,18 +11,17 @@
//= require ./publisher/poll_creator_view
//= require ./publisher/services_view
//= require ./publisher/uploader_view
//= require jquery-textchange
app.views.Publisher = Backbone.View.extend({
el : "#publisher",
events : {
"keydown #status_message_fake_text" : "keyDown",
"keydown #status_message_text": "keyDown",
"focus textarea" : "open",
"submit form" : "createStatusMessage",
"click #submit" : "createStatusMessage",
"textchange #status_message_fake_text": "handleTextchange",
"input #status_message_text": "checkSubmitAvailability",
"click #locator" : "showLocation",
"click #poll_creator" : "togglePollCreator",
"click #hide_location" : "destroyLocation",
@@ -35,24 +34,15 @@ app.views.Publisher = Backbone.View.extend({
this.disabled = false;
// init shortcut references to the various elements
this.inputEl = this.$("#status_message_fake_text");
this.hiddenInputEl = this.$("#status_message_text");
this.wrapperEl = this.$("#publisher_textarea_wrapper");
this.inputEl = this.$("#status_message_text");
this.wrapperEl = this.$("#publisher-textarea-wrapper");
this.submitEl = this.$("input[type=submit], button#submit");
this.photozoneEl = this.$("#photodropzone");
// if there is data in the publisher we ask for a confirmation
// before the user is able to leave the page
$(window).on("beforeunload", _.bind(this._beforeUnload, this));
$(window).unload(this.clear.bind(this));
// sync textarea content
if( this.hiddenInputEl.val() === "" ) {
this.hiddenInputEl.val( this.inputEl.val() );
}
if( this.inputEl.val() === "" ) {
this.inputEl.val( this.hiddenInputEl.val() );
}
$(window).on("unload", this.clear.bind(this));
// hide close and preview buttons and manage services link
// in case publisher is standalone
@@ -61,10 +51,6 @@ app.views.Publisher = Backbone.View.extend({
this.$(".question_mark").hide();
}
// this has to be here, otherwise for some reason the callback for the
// textchange event won't be called in Backbone...
this.inputEl.bind("textchange", $.noop);
$("body").click(function(event) {
var $target = $(event.target);
if ($target.closest("#publisher").length === 0 && !$target.hasClass("dropdown-backdrop")) {
@@ -96,7 +82,7 @@ app.views.Publisher = Backbone.View.extend({
},
initSubviews: function() {
this.mention = new app.views.PublisherMention({ el: this.$("#publisher_textarea_wrapper") });
this.mention = new app.views.PublisherMention({ el: this.$("#publisher-textarea-wrapper") });
if(this.prefillMention) {
this.mention.prefillMention([this.prefillMention]);
}
@@ -110,18 +96,19 @@ app.views.Publisher = Backbone.View.extend({
});
this.viewAspectSelector = new app.views.PublisherAspectSelector({
el: this.$(".public_toggle .aspect_dropdown"),
el: this.$(".public_toggle .aspect-dropdown"),
form: form
});
this.viewGettingStarted = new app.views.PublisherGettingStarted({
firstMessageEl: this.inputEl,
visibilityEl: this.$(".public_toggle .aspect_dropdown > .dropdown-toggle"),
streamEl: $("#main_stream")
visibilityEl: this.$(".public_toggle .aspect-dropdown > .dropdown-toggle"),
streamEl: $("#main-stream")
});
this.viewUploader = new app.views.PublisherUploader({
el: this.$("#file-upload"),
dropZoneElementIds: ["publisher-textarea-wrapper"],
publisher: this
});
this.viewUploader.on("change", this.checkSubmitAvailability, this);
@@ -138,14 +125,10 @@ app.views.Publisher = Backbone.View.extend({
},
onPostPreview: function() {
var photoAttachments = self.wrapperEl.find(".photo_attachments");
var photoAttachments = self.wrapperEl.find(".photo-attachments");
if (photoAttachments.length > 0) {
new app.views.Gallery({el: photoAttachments});
}
},
onChange: function() {
self.inputEl.trigger("textchange");
}
};
@@ -163,7 +146,7 @@ app.views.Publisher = Backbone.View.extend({
this.viewPollCreator.render();
if (this.prefillMention) {
this.handleTextchange();
this.checkSubmitAvailability();
}
},
@@ -175,12 +158,11 @@ app.views.Publisher = Backbone.View.extend({
// inject content into the publisher textarea
setText: function(txt) {
this.inputEl.val(txt);
this.hiddenInputEl.val(txt);
this.prefillText = txt;
this.inputEl.trigger("input");
autosize.update(this.inputEl);
this.handleTextchange();
this.checkSubmitAvailability();
},
// show the "getting started" popups around the publisher
@@ -188,6 +170,9 @@ app.views.Publisher = Backbone.View.extend({
if (gon.preloads.getting_started) {
this.open();
this.viewGettingStarted.show();
if (gon.preloads.mentioned_person) {
this.mention.addPersonToMentions(gon.preloads.mentioned_person);
}
}
},
@@ -202,9 +187,6 @@ app.views.Publisher = Backbone.View.extend({
// empty poll answer and failing validation.
this.viewPollCreator.removeLastAnswer();
//add missing mentions at end of post:
this.handleTextchange();
var serializedForm = $(evt.target).closest("form").serializeObject();
// disable input while posting, must be after the form is serialized
this.setInputEnabled(false);
@@ -255,7 +237,7 @@ app.views.Publisher = Backbone.View.extend({
self.setButtonsEnabled(true);
self.setInputEnabled(true);
self.wrapperEl.removeClass("submitting");
self.handleTextchange();
self.checkSubmitAvailability();
autosize.update(self.inputEl);
}
});
@@ -294,13 +276,13 @@ app.views.Publisher = Backbone.View.extend({
getUploadedPhotos: function() {
var photos = [];
$("li.publisher_photo img").each(function() {
var file = $(this).attr("src").substring("/uploads/images/".length);
var photo = $(this);
photos.push(
{
"sizes": {
"small" : "/uploads/images/thumb_small_" + file,
"medium" : "/uploads/images/thumb_medium_" + file,
"large" : "/uploads/images/scaled_full_" + file
"small": photo.data("small"),
"medium": photo.attr("src"),
"large": photo.data("scaled")
}
}
);
@@ -330,13 +312,8 @@ app.views.Publisher = Backbone.View.extend({
},
createPostPreview: function() {
//add missing mentions at end of post:
this.handleTextchange();
var serializedForm = $("#new_status_message").serializeObject();
var text = this.mention.getTextForSubmit();
var photos = this.getUploadedPhotos();
var mentionedPeople = this.mention.mentionedPeople;
var poll = this.getPollData(serializedForm);
var locationCoords = serializedForm["location[coords]"];
if(!locationCoords || locationCoords === "") {
@@ -352,12 +329,12 @@ app.views.Publisher = Backbone.View.extend({
var previewMessage = {
"id": 0,
"text": text,
"text": serializedForm["status_message[text]"],
"public": serializedForm["aspect_ids[]"] === "public",
"created_at": new Date().toISOString(),
"interacted_at": new Date().toISOString(),
"author": app.currentUser ? app.currentUser.attributes : {},
"mentioned_people": mentionedPeople,
"mentioned_people": this.mention.getMentionedPeople(),
"photos": photos,
"title": serializedForm["status_message[text]"],
"location": location,
@@ -366,11 +343,11 @@ app.views.Publisher = Backbone.View.extend({
};
var previewPost = new app.views.PreviewPost({model: new app.models.Post(previewMessage)}).render().el;
return $("<div/>").append(previewPost).html();
return $("<div></div>").append(previewPost).html();
},
keyDown : function(evt) {
if(evt.which === Keycodes.ENTER && evt.ctrlKey) {
if (evt.which === Keycodes.ENTER && (evt.metaKey || evt.ctrlKey)) {
this.$("form").submit();
this.open();
return false;
@@ -381,11 +358,9 @@ app.views.Publisher = Backbone.View.extend({
// remove mentions
this.mention.reset();
// clear text(s)
// clear text
this.inputEl.val("");
this.hiddenInputEl.val("");
this.inputEl.trigger("keyup")
.trigger("keydown");
this.inputEl.trigger("input");
autosize.update(this.inputEl);
// remove photos
@@ -419,16 +394,12 @@ app.views.Publisher = Backbone.View.extend({
// clear poll form
this.viewPollCreator.clearInputs();
// force textchange plugin to update lastValue
this.inputEl.data("lastValue", "");
this.hiddenInputEl.data("lastValue", "");
return this;
},
tryClose : function(){
// if it is not submittable, close it.
if( !this._submittable() ){
// if it is not submittable and not in preview mode, close it.
if (!this._submittable() && !this.markdownEditor.isPreviewMode()) {
this.close();
}
},
@@ -462,7 +433,8 @@ app.views.Publisher = Backbone.View.extend({
},
checkSubmitAvailability: function() {
if( this._submittable() ) {
if (this._submittable()) {
this.open();
this.setButtonsEnabled(true);
} else {
this.setButtonsEnabled(false);
@@ -472,8 +444,7 @@ app.views.Publisher = Backbone.View.extend({
setEnabled: function(bool) {
this.setInputEnabled(bool);
this.disabled = !bool;
this.handleTextchange();
this.checkSubmitAvailability();
},
setButtonsEnabled: function(bool) {
@@ -487,10 +458,8 @@ app.views.Publisher = Backbone.View.extend({
setInputEnabled: function(bool) {
if (bool) {
this.inputEl.removeAttr("disabled");
this.hiddenInputEl.removeAttr("disabled");
} else {
this.inputEl.prop("disabled", true);
this.hiddenInputEl.prop("disabled", true);
}
},
@@ -503,13 +472,8 @@ app.views.Publisher = Backbone.View.extend({
return (!onlyWhitespaces || isPhotoAttached) && isValidPoll && !this.disabled;
},
handleTextchange: function() {
this.checkSubmitAvailability();
this.hiddenInputEl.val(this.mention.getTextForSubmit());
},
_beforeUnload: function(e) {
if(this._submittable() && this.inputEl.val() !== this.prefillText){
if (this._submittable() && this.inputEl.val() !== this.prefillText) {
var confirmationMessage = Diaspora.I18n.t("confirm_unload");
(e || window.event).returnValue = confirmationMessage; //Gecko + IE
return confirmationMessage; //Webkit, Safari, Chrome, etc.

View File

@@ -7,6 +7,7 @@ app.views.SearchBase = app.views.Base.extend({
if(options.customSearch) { this.setupCustomSearch(); }
this.setupTypeahead();
if(options.autoselect) { this.setupAutoselect(); }
this.setupTypeaheadAvatarFallback();
},
bloodhoundTokenizer: function(str) {
@@ -110,6 +111,12 @@ app.views.SearchBase = app.views.Base.extend({
});
},
setupTypeaheadAvatarFallback: function() {
this.typeaheadInput.on("typeahead:render", function() {
this.setupAvatarFallback(this.$el);
}.bind(this));
},
ignorePersonForSuggestions: function(person) {
if(person.handle) { this.ignoreDiasporaIds.push(person.handle); }
}

View File

@@ -26,8 +26,8 @@ app.views.SinglePostActions = app.views.Feedback.extend({
},
focusComment: function() {
$('.comment_stream .comment_box').focus();
$('html,body').animate({scrollTop: $('.comment_stream .comment_box').offset().top - ($('.comment_stream .comment_box').height() + 20)});
$('.comment_stream .comment-box').focus();
$('html,body').animate({scrollTop: $('.comment_stream .comment-box').offset().top - ($('.comment_stream .comment-box').height() + 20)});
return false;
},

View File

@@ -7,7 +7,9 @@ app.views.SinglePostCommentStream = app.views.CommentStream.extend({
this.CommentView = app.views.ExpandedComment;
$(window).on('hashchange',this.highlightPermalinkComment);
this.setupBindings();
this.model.comments.on("reset", this.render, this);
this.model.comments.fetch({success: function() {
setTimeout(this.highlightPermalinkComment, 0);
}.bind(this)});
},
highlightPermalinkComment: function() {
@@ -17,14 +19,13 @@ app.views.SinglePostCommentStream = app.views.CommentStream.extend({
$(".highlighted").removeClass("highlighted");
element.addClass("highlighted");
var pos = element.offset().top - headerSize;
window.scroll(0, pos);
$("html,body").animate({scrollTop: pos});
}
},
postRenderTemplate: function() {
app.views.CommentStream.prototype.postRenderTemplate.apply(this);
this.$(".new-comment-form-wrapper").removeClass("hidden");
_.defer(this.highlightPermalinkComment);
},
presenter: function(){

View File

@@ -36,8 +36,9 @@ app.views.SinglePostContent = app.views.Base.extend({
var map = L.map(mapContainer[0]).setView([location.lat, location.lng], 14);
var tiles = app.helpers.locations.getTiles();
tiles.addTo(map);
if (tiles) {
tiles.addTo(map);
}
// put marker on map
L.marker(location).addTo(map);

View File

@@ -4,8 +4,15 @@ app.views.SinglePostInteractionCounts = app.views.Base.extend({
templateName: "single-post-viewer/single-post-interaction-counts",
tooltipSelector: ".avatar.micro",
events: {
"click #show-all-likes": "showAllLikes",
"click #show-all-reshares": "showAllReshares"
},
initialize: function() {
this.model.interactions.on("change", this.render, this);
this.model.interactions.likes.on("change", this.render, this);
this.model.interactions.reshares.on("change", this.render, this);
},
presenter: function() {
@@ -15,8 +22,28 @@ app.views.SinglePostInteractionCounts = app.views.Base.extend({
reshares: interactions.reshares.toJSON(),
commentsCount: interactions.commentsCount(),
likesCount: interactions.likesCount(),
resharesCount: interactions.resharesCount()
resharesCount: interactions.resharesCount(),
showMoreLikes: interactions.likes.length < interactions.likesCount(),
showMoreReshares: interactions.reshares.length < interactions.resharesCount()
};
},
_showAll: function(interactionType, models) {
this.$("#show-all-" + interactionType).addClass("hidden");
this.$("#" + interactionType + " .loader").removeClass("hidden");
models.fetch({success: function() {
models.trigger("change");
}});
},
showAllLikes: function(evt) {
evt.preventDefault();
this._showAll("likes", this.model.interactions.likes);
},
showAllReshares: function(evt) {
evt.preventDefault();
this._showAll("reshares", this.model.interactions.reshares);
}
});
// @license-end

View File

@@ -7,7 +7,7 @@ app.views.StreamPost = app.views.Post.extend({
subviews : {
".feedback": "feedbackView",
".comments": "commentStreamView",
".likes": "likesInfoView",
".likes-on-post": "likesInfoView",
".reshares": "resharesInfoView",
".post-controls": "postControlsView",
".post-content": "postContentView",
@@ -28,10 +28,11 @@ app.views.StreamPost = app.views.Post.extend({
".permalink"].join(", "),
initialize : function(){
var personId = this.model.get("author").id;
app.events.on("person:block:"+personId, this.remove, this);
this.model.on("remove", this.remove, this);
// If we are on a user page, we don't want to remove posts on block
if (!app.page.model.has("profile")) {
var personId = this.model.get("author").id;
app.events.on("person:block:" + personId, this.remove, this);
}
//subviews
this.commentStreamView = new app.views.CommentStream({model : this.model});
this.oEmbedView = new app.views.OEmbed({model : this.model});
@@ -87,7 +88,7 @@ app.views.StreamPost = app.views.Post.extend({
focusCommentTextarea: function(evt){
evt.preventDefault();
this.$(".new-comment-form-wrapper").removeClass("hidden");
this.$(".comment_box").focus();
this.$(".comment-box").focus();
return this;
}

View File

@@ -25,9 +25,15 @@ app.views.Stream = app.views.InfScroll.extend({
markNavSelected : function() {
var activeStream = Backbone.history.fragment;
var streamSelection = $("#stream_selection");
var streamSelection = $("#stream-selection");
streamSelection.find("[data-stream]").removeClass("selected");
streamSelection.find("[data-stream='" + activeStream + "']").addClass("selected");
var activityContainer = streamSelection.find(".my-activity");
activityContainer.removeClass("activity-stream-selected");
if (activeStream === "activity" || activeStream === "liked" || activeStream === "commented") {
activityContainer.addClass("activity-stream-selected");
}
},
initInvitationModal : function() {

View File

@@ -48,7 +48,7 @@ app.views.TagFollowingList = app.views.Base.extend({
if(evt){ evt.preventDefault(); }
var name = this.$(".tag_input").val();
// compare tag_text_regexp in app/models/acts_as_taggable_on-tag.rb
// compare tag_text_regexp in config/initializers/acts_as_taggable_on.rb
var normalizedName = (name === "<3" ? name : name.replace(
new RegExp("[^" + PosixBracketExpressions.alnum + "_\\-]+", "gi"), "").toLowerCase());

View File

@@ -1,12 +1,12 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
app.views.Tags = Backbone.View.extend({
app.views.Tags = app.views.Base.extend({
initialize: function(opts) {
if(app.publisher) {
app.publisher.setText("#"+ opts.hashtagName + " ");
}
// add avatar fallback if it can't be loaded
$(app.views.Base.prototype.avatars.selector).error(app.views.Base.prototype.avatars.fallback);
this.setupAvatarFallback($("#tags_show"));
}
});
// @license-end

View File

@@ -9,7 +9,7 @@ var List = {
},
handleSearchRefresh: function( data ) {
var streamEl = $("#people_stream.stream");
var streamEl = $("#people-stream.stream");
var string = data.search_html || $("<p>", {
text : Diaspora.I18n.t("people.not_found")
});
@@ -18,7 +18,7 @@ var List = {
if (data.contacts) {
var contacts = new app.collections.Contacts(data.contacts);
$(".aspect_membership_dropdown.placeholder").each(function() {
$(".aspect-membership-dropdown.placeholder").each(function() {
var personId = $(this).data("personId");
var view = new app.views.AspectMembership({person: contacts.findWhere({"person_id": personId}).person});
$(this).html(view.render().$el);

View File

@@ -9,7 +9,8 @@ Diaspora.MarkdownEditor.prototype = {
this.options = {
resize: "none",
onHidePreview: $.noop,
onPostPreview: $.noop
onPostPreview: $.noop,
onChange: function(e) { autosize.update(e.$textarea); }
};
$.extend(this.options, opts);
@@ -65,7 +66,7 @@ Diaspora.MarkdownEditor.prototype = {
var tabElement = $("<ul class='nav nav-tabs btn-group write-preview-tabs'></ul>");
var writeTab = $("<li class='active full-height' role='presentation'></li>");
this.writeLink = $("<a class='full-height md-write-tab' href='#'></a>")
this.writeLink = $("<a class='full-height md-write-tab' href='#' data-target=' '></a>")
.attr("title", Diaspora.I18n.t("publisher.markdown_editor.tooltips.write"));
this.writeLink.append($("<i class='visible-sm visible-xs visible-md diaspora-custom-compose'></i>"));
@@ -80,7 +81,7 @@ Diaspora.MarkdownEditor.prototype = {
writeTab.append(this.writeLink);
var previewTab = $("<li class='full-height' role='presentation'></li>");
this.previewLink = $("<a class='full-height md-preview-tab' href='#'></a>")
this.previewLink = $("<a class='full-height md-preview-tab' href='#' data-target=' '></a>")
.attr("title", Diaspora.I18n.t("publisher.markdown_editor.tooltips.preview"));
this.previewLink.append($("<i class='visible-sm visible-xs visible-md entypo-search'>"));
@@ -130,6 +131,14 @@ Diaspora.MarkdownEditor.prototype = {
}
},
isPreviewMode: function() {
return this.instance !== undefined && this.instance.$editor.find(".md-preview").length > 0;
},
userInputEmpty: function() {
return this.instance === undefined || this.instance.getContent().length === 0;
},
localize: function() {
var locale = Diaspora.I18n.language;
@@ -160,3 +169,7 @@ Diaspora.MarkdownEditor.prototype = {
return locale;
}
};
Diaspora.MarkdownEditor.simplePreview = function($mdInstance) {
return "<div class='preview-content'>" + app.helpers.textFormatter($mdInstance.getContent()) + "</div>";
};

View File

@@ -0,0 +1,121 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
Diaspora.PostPhotoUploader = class {
/**
* Initializes a new instance of PostPhotoUploader
* This class handles uploading photos and provides client side scaling
*/
constructor(el, dropZoneElementIds, aspectIds) {
this.element = el;
this.dropZoneElementIds = dropZoneElementIds;
this.sizeLimit = 4194304;
this.aspectIds = aspectIds;
this.onProgress = null;
this.onUploadStarted = null;
this.onUploadCompleted = null;
/**
* Shows a message using flash messages or alert for mobile.
* @param {string} type - The type of the message, e.g. "error" or "success".
* @param text - The text to display.
*/
this.showMessage = (type, text) => (app.flashMessages ? app.flashMessages[type](text) : alert(text));
/**
* Returns true if the given parameter is a function
* @param {param} - The object to check
* @returns {boolean}
*/
this.func = param => (typeof param === "function");
this.initFineUploader();
}
/**
* Initializes the fine uploader component
*/
initFineUploader() {
this.fineUploader = new qq.FineUploaderBasic({
element: this.element,
button: this.element,
text: {
fileInputTitle: Diaspora.I18n.t("photo_uploader.upload_photos")
},
request: {
endpoint: Routes.photos(),
params: {
/* eslint-disable camelcase */
authenticity_token: $("meta[name='csrf-token']").attr("content"),
photo: {
pending: true,
aspect_ids: this.aspectIds
}
/* eslint-enable camelcase */
}
},
paste: {
targetElement: document.getElementById("status_message_text"),
promptForName: true
},
validation: {
acceptFiles: "image/png, image/jpeg, image/gif, image/webp",
allowedExtensions: ["jpg", "jpeg", "png", "gif", "webp"],
sizeLimit: (window.Promise && qq.supportedFeatures.scaling ? null : this.sizeLimit)
},
messages: {
typeError: Diaspora.I18n.t("photo_uploader.invalid_ext"),
sizeError: Diaspora.I18n.t("photo_uploader.size_error"),
emptyError: Diaspora.I18n.t("photo_uploader.empty")
},
callbacks: {
onSubmit: (id, name) => this.onPictureSelected(id, name),
onUpload: (id, name) => (this.func(this.onUploadStarted) && this.onUploadStarted(id, name)),
onProgress: (id, fileName, loaded, total) =>
(this.func(this.onProgress) && this.onProgress(id, fileName, Math.round(loaded / total * 100))),
onComplete: (id, name, json) => (this.func(this.onUploadCompleted) && this.onUploadCompleted(id, name, json)),
onError: (id, name, errorReason) => this.showMessage("error", errorReason)
}
});
if (this.dropZoneElementIds instanceof Array) {
var dropZoneElements = this.dropZoneElementIds.map(id => document.getElementById(id)).filter(el => el);
if (dropZoneElements.length > 0) {
this.dragAndDropModule = new qq.DragAndDrop({
dropZoneElements: dropZoneElements,
callbacks: {
processingDroppedFilesComplete: (files) => this.fineUploader.addFiles(files)
}
});
}
}
}
/**
* Called when a picture from user's device has been selected.
* Scales the images using Pica if the image exceeds the file size limit
* @param {number} id - The current file's id.
* @param {string} name - The current file's name.
*/
onPictureSelected(id, name) {
// scale image because it's bigger than the size limit and the browser supports it
if (this.fineUploader.getSize(id) > this.sizeLimit && window.Promise && qq.supportedFeatures.scaling) {
this.fineUploader.scaleImage(id, {
maxSize: 3072,
customResizer: !qq.ios() && (i => window.pica().resize(i.sourceCanvas, i.targetCanvas))
}).then(scaledImage => {
this.fineUploader.addFiles({
blob: scaledImage,
name: name
});
});
// since we are adding the smaller scaled image afterwards, we return false
return false;
}
// return true to upload the image without scaling
return true;
}
};
// @license-end

View File

@@ -0,0 +1,253 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
Diaspora.ProfilePhotoUploader = class {
/**
* Initializes a new instance of ProfilePhotoUploader
*/
constructor() {
// get several elements we will use a few times
this.fileInput = document.querySelector("#file-upload");
this.picture = document.querySelector("#profile_photo_upload .avatar");
this.info = document.querySelector("#fileInfo");
this.cropContainer = document.querySelector(".crop-container");
this.spinner = document.querySelector("#file-upload-spinner");
/**
* Creates a button
* @param {string} icon - The entypo icon class.
* @param {function} onClick - Is called when button has been clicked.
*/
this.createButton = (icon, onClick) =>
($(`<button class="btn btn-default" type="button"><i class="entypo-${icon}"></i></button>`)
.on("click", onClick));
/**
* Shows a message using flash messages or alert for mobile.
* @param {string} type - The type of the message, e.g. "error" or "success".
* @param text - The text to display.
*/
this.showMessage = (type, text) => (app.flashMessages ? app.flashMessages[type](text) : alert(text));
this.initFineUploader();
}
/**
* Initializes the fine uploader component
*/
initFineUploader() {
this.fineUploader = new qq.FineUploaderBasic({
element: this.fileInput,
validation: {
acceptFiles: "image/png, image/jpeg",
allowedExtensions: ["jpg", "jpeg", "png"]
},
request: {
endpoint: Routes.photos(),
params: {
/* eslint-disable camelcase */
authenticity_token: $("meta[name='csrf-token']").attr("content"),
/* eslint-enable camelcase */
photo: {"pending": true, "aspect_ids": "all", "set_profile_photo": true}
}
},
button: this.fileInput,
autoUpload: false,
messages: {
typeError: Diaspora.I18n.t("photo_uploader.invalid_ext"),
sizeError: Diaspora.I18n.t("photo_uploader.size_error"),
emptyError: Diaspora.I18n.t("photo_uploader.empty")
},
callbacks: {
onProgress: (id, fileName, loaded, total) => {
(this.info.innerText = `${fileName} ${Math.round(loaded / total * 100)}%`);
},
onSubmit: (id, name) => this.onPictureSelected(id, name),
onComplete: (id, name, responseJSON) => this.onUploadCompleted(id, name, responseJSON),
onError: (id, name) => this.showMessage("error", Diaspora.I18n.t("photo_uploader.error", {file: name}))
},
text: {
fileInputTitle: ""
},
scaling: {
sendOriginal: false,
sizes: [
{maxSize: 1600}
]
}
});
}
/**
* Called when a picture from user's device has been selected.
* @param {number} id - The current file's id.
* @param {string} name - The current file's name.
*/
onPictureSelected(id, name) {
this.setLoading(true);
this.fileName = name;
const file = this.fileInput.querySelector("input").files[0];
// ensure browser's file reader support
if (FileReader && file) {
const fileReader = new FileReader();
fileReader.onload = () => this.initCropper(fileReader.result);
fileReader.readAsDataURL(file);
} else {
this.setLoading(false);
}
}
/**
* Initializes the cropper and all controls.
* @param {object|string} imageData - The base64 image data
*/
initCropper(imageData) {
// cache the current picture source if the user cancels
this.previousPicture = this.picture.getAttribute("src");
this.mimeType = imageData.split(";base64")[0].substring(5);
this.picture.onload = () => {
// set the preferred size style of the cropper based on picture orientation
const isPortrait = this.picture.naturalHeight > this.picture.naturalWidth;
this.picture.setAttribute("style", (isPortrait ? "max-height:600px;max-width:none;" : "max-width:600px;"));
this.buildControls();
this.setLoading(false);
// eslint-disable-next-line no-undef
this.cropper = new Cropper(this.picture, {
aspectRatio: 1,
zoomable: false,
autoCropArea: 1,
preview: ".preview"
});
};
this.picture.setAttribute("src", imageData);
}
/**
* Creates image manipulation controls and previews.
*/
buildControls() {
this.controls = {
rotateLeft: this.createButton("ccw", () => this.cropper.rotate(-45)),
rotateRight: this.createButton("cw", () => this.cropper.rotate(45)),
reset: this.createButton("cycle", () => this.cropper.reset()),
accept: this.createButton("check", () => this.cropImage()),
cancel: this.createButton("trash", () => this.cancel())
};
this.controlRow = $("<div class='controls'>").appendTo(this.cropContainer);
// rotation buttons on the left
this.controlRow.append($("<div class='btn-group buttons-left' role='group'>").append([
this.controls.rotateLeft,
this.controls.rotateRight
]));
// preview images in the middle
this.controlRow.append("<div class='preview'>");
// main buttons on the right
this.controlRow.append($("<div class='btn-group buttons-right' role='group'>").append([
this.controls.reset,
this.controls.cancel,
this.controls.accept
]));
}
/**
* Called when the user clicked accept button. Sets file data and triggers file upload.
*/
cropImage() {
const canvas = this.cropper.getCroppedCanvas();
// replace the stored file with the new canvas
this.fineUploader.clearStoredFiles();
this.fineUploader.addFiles([{
canvas: canvas,
name: this.fileName,
quality: 100,
type: this.mimeType
}]);
// reset all controls
this.cancel();
this.picture.setAttribute("src", canvas.toDataURL(this.mimeType));
// finally start uploading
this.setLoading(true);
this.fineUploader.uploadStoredFiles();
}
/**
* Is called after the file upload has been completed and the profile photo changed.
* @param {number} id - The current file's id.
* @param {string} fileName - The current file's name.
* @param {object} responseJSON - The server's json response.
*/
onUploadCompleted(id, fileName, responseJSON) {
this.setLoading(false);
this.fileInput.classList.remove("hidden");
if (responseJSON.data !== undefined) {
/* flash message prompt */
this.showMessage("success", Diaspora.I18n.t("photo_uploader.looking_good"));
this.info.innerText = Diaspora.I18n.t("photo_uploader.completed", {"file": fileName});
const photoId = responseJSON.data.photo.id;
const url = responseJSON.data.photo.unprocessed_image.url;
const oldPhoto = $("#photo_id");
if (oldPhoto.length === 0) {
$("#update_profile_form")
.prepend(`<input type="hidden" value="${photoId}" id="photo_id" name="photo_id"/>`);
} else {
oldPhoto.val(photoId);
}
this.picture.setAttribute("src", url);
$(`.avatar[alt="${gon.user.diaspora_id}"]`).attr("src", url);
} else {
this.cancel();
}
}
/**
* Toggles loading state by hiding or showing several elements
* @param {boolean} loading - True if loading state should be enabled.
*/
setLoading(loading) {
if (loading) {
this.fileInput.classList.add("hidden");
this.picture.classList.add("hidden");
this.spinner.classList.remove("hidden");
} else {
this.picture.classList.remove("hidden");
this.spinner.classList.add("hidden");
}
}
/**
* Destroys the cropper and resets all elements to initial state.
*/
cancel() {
this.cropper.destroy();
this.picture.onload = null;
this.picture.setAttribute("style", "");
this.picture.setAttribute("src", this.previousPicture);
this.controlRow.remove();
this.fileInput.classList.remove("hidden");
this.info.innerText = "";
this.mimeType = null;
this.name = null;
}
};
// @license-end

View File

@@ -1,61 +0,0 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
Diaspora.ProfilePhotoUploader = function() {
this.initialize();
};
Diaspora.ProfilePhotoUploader.prototype = {
constructor: Diaspora.ProfilePhotoUploader,
initialize: function() {
new qq.FileUploaderBasic({
element: document.getElementById("file-upload"),
params: {"photo": {"pending": true, "aspect_ids": "all", "set_profile_photo": true}},
allowedExtensions: ["jpg", "jpeg", "png"],
action: "/photos",
button: document.getElementById("file-upload"),
sizeLimit: 4194304,
onProgress: function(id, fileName, loaded, total) {
var progress = Math.round(loaded / total * 100);
$("#fileInfo").text(fileName + " " + progress + "%");
},
messages: {
typeError: Diaspora.I18n.t("photo_uploader.invalid_ext"),
sizeError: Diaspora.I18n.t("photo_uploader.size_error"),
emptyError: Diaspora.I18n.t("photo_uploader.empty")
},
onSubmit: function() {
$("#file-upload").addClass("loading");
$("#profile_photo_upload").find(".avatar").addClass("loading");
$("#file-upload-spinner").removeClass("hidden");
$("#fileInfo").show();
},
onComplete: function(_id, fileName, responseJSON) {
$("#file-upload-spinner").addClass("hidden");
$("#fileInfo").text(Diaspora.I18n.t("photo_uploader.completed", {"file": fileName}));
$("#file-upload").removeClass("loading");
/* flash message prompt */
var message = Diaspora.I18n.t("photo_uploader.looking_good");
if (app.flashMessages) { app.flashMessages.success(message); }
var id = responseJSON.data.photo.id;
var url = responseJSON.data.photo.unprocessed_image.url;
var oldPhoto = $("#photo_id");
if (oldPhoto.length === 0) {
$("#update_profile_form").prepend("<input type='hidden' value='" + id + "' id='photo_id' name='photo_id'/>");
} else {
oldPhoto.val(id);
}
$("#profile_photo_upload").find(".avatar").removeClass("loading");
$("#profile_photo_upload").find(".avatar").attr("src", url);
}
});
}
};
// @license-end

View File

@@ -0,0 +1,21 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
Diaspora.ProtocolHandler = {
register: function() {
if (!window.navigator.registerProtocolHandler) {
return false;
}
try {
window.navigator.registerProtocolHandler(
"web+diaspora",
[window.location.protocol, "//", window.location.host, "/link?q=%s"].join(""),
gon.appConfig.settings.podname
);
} catch (_) {
return false;
}
return true;
}
};

View File

@@ -1,6 +0,0 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
document.createElement('header');
document.createElement('footer');
// @license-end

Some files were not shown because too many files have changed in this diff Show More