Merge branch 'release/0.7.13.0'
This commit is contained in:
commit
c2a991fec1
59 changed files with 574 additions and 385 deletions
|
|
@ -1,3 +1,5 @@
|
|||
require: rubocop-rails
|
||||
|
||||
AllCops:
|
||||
TargetRubyVersion: 2.3
|
||||
Exclude:
|
||||
|
|
@ -5,9 +7,6 @@ AllCops:
|
|||
- "db/schema.rb"
|
||||
- "config/locales/cldr/plurals.rb"
|
||||
|
||||
Rails:
|
||||
Enabled: true
|
||||
|
||||
# Disable for rails 4
|
||||
Rails/HttpPositionalArguments:
|
||||
Enabled: false
|
||||
|
|
|
|||
10
.travis.yml
10
.travis.yml
|
|
@ -17,6 +17,16 @@ cache:
|
|||
- app/assets/images
|
||||
- tmp/cache/assets
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- libidn11-dev
|
||||
- ghostscript
|
||||
|
||||
services:
|
||||
- postgresql
|
||||
- mysql
|
||||
|
||||
branches:
|
||||
only:
|
||||
- 'master'
|
||||
|
|
|
|||
16
Changelog.md
16
Changelog.md
|
|
@ -1,3 +1,19 @@
|
|||
# 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
|
||||
|
|
|
|||
73
Gemfile
73
Gemfile
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "rails", "5.1.6.2"
|
||||
gem "rails", "5.2.4.1"
|
||||
|
||||
# Legacy Rails features, remove me!
|
||||
# responders (class level)
|
||||
|
|
@ -10,7 +10,7 @@ gem "responders", "2.4.1"
|
|||
|
||||
# Appserver
|
||||
|
||||
gem "unicorn", "5.5.0", require: false
|
||||
gem "unicorn", "5.5.1", require: false
|
||||
gem "unicorn-worker-killer", "0.4.4"
|
||||
|
||||
# Federation
|
||||
|
|
@ -26,7 +26,7 @@ gem "json-schema", "2.8.1"
|
|||
|
||||
# Authentication
|
||||
|
||||
gem "devise", "4.6.1"
|
||||
gem "devise", "4.7.1"
|
||||
gem "devise-two-factor", "3.0.3"
|
||||
gem "devise_lastseenable", "0.0.6"
|
||||
gem "rqrcode", "0.10.1"
|
||||
|
|
@ -38,7 +38,7 @@ gem "simple_captcha2", "0.4.3", require: "simple_captcha"
|
|||
# Background processing
|
||||
|
||||
gem "redis", "3.3.5" # Pinned to 3.3.x because of https://github.com/antirez/redis/issues/4272
|
||||
gem "sidekiq", "5.2.5"
|
||||
gem "sidekiq", "5.2.7"
|
||||
|
||||
# Scheduled processing
|
||||
|
||||
|
|
@ -54,7 +54,7 @@ gem "configurate", "0.3.1"
|
|||
|
||||
# Cross-origin resource sharing
|
||||
|
||||
gem "rack-cors", "1.0.2", require: "rack/cors"
|
||||
gem "rack-cors", "1.1.1", require: "rack/cors"
|
||||
|
||||
# CSS
|
||||
|
||||
|
|
@ -75,13 +75,13 @@ group :postgresql, optional: true do
|
|||
end
|
||||
|
||||
|
||||
gem "activerecord-import", "1.0.1"
|
||||
gem "activerecord-import", "1.0.2"
|
||||
|
||||
# File uploading
|
||||
|
||||
gem "carrierwave", "1.3.1"
|
||||
gem "fog-aws", "3.4.0"
|
||||
gem "mini_magick", "4.9.3"
|
||||
gem "fog-aws", "3.5.1"
|
||||
gem "mini_magick", "4.10.1"
|
||||
|
||||
# GUID generation
|
||||
gem "uuid", "2.3.9"
|
||||
|
|
@ -92,13 +92,13 @@ gem "entypo-rails", "3.0.0"
|
|||
|
||||
# JavaScript
|
||||
|
||||
gem "handlebars_assets", "0.23.3"
|
||||
gem "jquery-rails", "4.3.3"
|
||||
gem "js-routes", "1.4.4"
|
||||
gem "handlebars_assets", "0.23.4"
|
||||
gem "jquery-rails", "4.3.5"
|
||||
gem "js-routes", "1.4.7"
|
||||
gem "js_image_paths", "0.1.1"
|
||||
|
||||
source "https://rails-assets.org" do
|
||||
gem "rails-assets-jquery", "3.3.1" # Should be kept in sync with jquery-rails
|
||||
source "https://gems.diasporafoundation.org" do
|
||||
gem "rails-assets-jquery", "3.4.1" # Should be kept in sync with jquery-rails
|
||||
gem "rails-assets-jquery.ui", "1.11.4"
|
||||
|
||||
gem "rails-assets-highlightjs", "9.12.0"
|
||||
|
|
@ -138,12 +138,12 @@ gem "rails-i18n", "5.1.3"
|
|||
gem "markerb", "1.1.0"
|
||||
|
||||
# Map
|
||||
gem "leaflet-rails", "1.3.1"
|
||||
gem "leaflet-rails", "1.5.1"
|
||||
|
||||
# Parsing
|
||||
|
||||
gem "nokogiri", "1.10.1"
|
||||
gem "open_graph_reader", "0.6.2" # also update User-Agent in features/support/webmock.rb
|
||||
gem "nokogiri", "1.10.8"
|
||||
gem "open_graph_reader", "0.7.0" # also update User-Agent in features/support/webmock.rb
|
||||
gem "redcarpet", "3.4.0"
|
||||
gem "ruby-oembed", "0.12.0"
|
||||
gem "twitter-text", "1.14.7"
|
||||
|
|
@ -154,7 +154,7 @@ gem "string-direction", "1.2.1"
|
|||
|
||||
# Security Headers
|
||||
|
||||
gem "secure_headers", "6.1.0"
|
||||
gem "secure_headers", "6.3.0"
|
||||
|
||||
# Services
|
||||
|
||||
|
|
@ -165,7 +165,7 @@ gem "omniauth-wordpress", "0.2.2"
|
|||
gem "twitter", "6.2.0"
|
||||
|
||||
# OpenID Connect
|
||||
gem "openid_connect", "1.1.6"
|
||||
gem "openid_connect", "1.1.8"
|
||||
|
||||
# Serializers
|
||||
|
||||
|
|
@ -173,7 +173,7 @@ gem "active_model_serializers", "0.9.7"
|
|||
|
||||
# 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 "rails-assets-diaspora_jsxc", "0.1.5.develop.7", source: "https://gems.diasporafoundation.org"
|
||||
|
||||
# Tags
|
||||
|
||||
|
|
@ -181,16 +181,16 @@ gem "acts-as-taggable-on", "6.0.0"
|
|||
|
||||
# URIs and HTTP
|
||||
|
||||
gem "addressable", "2.5.2", require: "addressable/uri"
|
||||
gem "addressable", "2.6.0", require: "addressable/uri"
|
||||
gem "faraday", "0.15.4"
|
||||
gem "faraday_middleware", "0.12.2"
|
||||
gem "faraday_middleware", "0.13.1"
|
||||
gem "faraday-cookie_jar", "0.0.6"
|
||||
gem "typhoeus", "1.3.1"
|
||||
|
||||
# Views
|
||||
|
||||
gem "gon", "6.2.1"
|
||||
gem "hamlit", "2.9.2"
|
||||
gem "hamlit", "2.9.3"
|
||||
gem "mobile-fu", "1.4.0"
|
||||
gem "rails-timeago", "2.17.1"
|
||||
gem "will_paginate", "3.1.7"
|
||||
|
|
@ -201,7 +201,7 @@ gem "logging-rails", "0.6.0", require: "logging/rails"
|
|||
|
||||
# Reading and writing zip files
|
||||
|
||||
gem "rubyzip", "1.2.2", require: "zip"
|
||||
gem "rubyzip", "1.3.0", require: "zip"
|
||||
|
||||
# Prevent occasions where minitest is not bundled in
|
||||
# packaged versions of ruby. See following issues/prs:
|
||||
|
|
@ -210,7 +210,7 @@ gem "rubyzip", "1.2.2", require: "zip"
|
|||
# https://github.com/discourse/discourse/pull/238
|
||||
gem "minitest"
|
||||
|
||||
gem "versionist", "1.7.0"
|
||||
gem "versionist", "2.0.0"
|
||||
|
||||
# Windows and OSX have an execjs compatible runtime built-in, Linux users should
|
||||
# install Node.js or use "therubyracer".
|
||||
|
|
@ -249,12 +249,13 @@ group :development do
|
|||
|
||||
# Linters
|
||||
gem "haml_lint", "0.28.0", require: false
|
||||
gem "pronto", "0.9.5", require: false
|
||||
gem "pronto-eslint", "0.9.1", require: false
|
||||
gem "pronto-haml", "0.9.0", require: false
|
||||
gem "pronto-rubocop", "0.9.1", require: false
|
||||
gem "pronto-scss", "0.9.1", require: false
|
||||
gem "rubocop", "0.66.0", require: false
|
||||
gem "pronto", "0.10.0", require: false
|
||||
gem "pronto-eslint", "0.10.0", require: false
|
||||
gem "pronto-haml", "0.10.0", require: false
|
||||
gem "pronto-rubocop", "0.10.0", require: false
|
||||
gem "pronto-scss", "0.10.0", require: false
|
||||
gem "rubocop", "0.72.0", require: false
|
||||
gem "rubocop-rails", "2.1.0", require: false
|
||||
|
||||
# Preloading environment
|
||||
|
||||
|
|
@ -276,7 +277,7 @@ group :test do
|
|||
# RSpec (unit tests, some integration tests)
|
||||
|
||||
gem "fixture_builder", "0.5.2.rc3"
|
||||
gem "fuubar", "2.3.2"
|
||||
gem "fuubar", "2.4.1"
|
||||
gem "json-schema-rspec", "0.0.4"
|
||||
gem "rspec-json_expectations", "~> 2.1"
|
||||
|
||||
|
|
@ -293,12 +294,12 @@ group :test do
|
|||
gem "factory_girl_rails", "4.8.0"
|
||||
gem "shoulda-matchers", "4.0.1"
|
||||
gem "timecop", "0.9.1"
|
||||
gem "webmock", "3.5.1", require: false
|
||||
gem "webmock", "3.6.0", require: false
|
||||
|
||||
gem "diaspora_federation-test", "0.2.6"
|
||||
|
||||
# Coverage
|
||||
gem "coveralls", "0.8.22", require: false
|
||||
gem "coveralls", "0.8.23", require: false
|
||||
end
|
||||
|
||||
group :development, :test do
|
||||
|
|
@ -306,12 +307,12 @@ group :development, :test do
|
|||
gem "rspec-rails", "3.8.2"
|
||||
|
||||
# Cucumber (integration tests)
|
||||
gem "cucumber-rails", "1.6.0", require: false
|
||||
gem "cucumber-rails", "1.7.0", require: false
|
||||
|
||||
# Jasmine (client side application tests (JS))
|
||||
gem "jasmine", "3.3.0"
|
||||
gem "jasmine", "3.4.0"
|
||||
gem "jasmine-jquery-rails", "2.0.3"
|
||||
gem "rails-assets-jasmine-ajax", "3.4.0", source: "https://rails-assets.org"
|
||||
gem "rails-assets-jasmine-ajax", "4.0.0", source: "https://gems.diasporafoundation.org"
|
||||
gem "sinon-rails", "1.15.0"
|
||||
|
||||
# For `assigns` in controller specs
|
||||
|
|
|
|||
380
Gemfile.lock
380
Gemfile.lock
|
|
@ -1,26 +1,26 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
remote: https://rails-assets.org/
|
||||
remote: https://gems.diasporafoundation.org/
|
||||
specs:
|
||||
actioncable (5.1.6.2)
|
||||
actionpack (= 5.1.6.2)
|
||||
actioncable (5.2.4.1)
|
||||
actionpack (= 5.2.4.1)
|
||||
nio4r (~> 2.0)
|
||||
websocket-driver (~> 0.6.1)
|
||||
actionmailer (5.1.6.2)
|
||||
actionpack (= 5.1.6.2)
|
||||
actionview (= 5.1.6.2)
|
||||
activejob (= 5.1.6.2)
|
||||
websocket-driver (>= 0.6.1)
|
||||
actionmailer (5.2.4.1)
|
||||
actionpack (= 5.2.4.1)
|
||||
actionview (= 5.2.4.1)
|
||||
activejob (= 5.2.4.1)
|
||||
mail (~> 2.5, >= 2.5.4)
|
||||
rails-dom-testing (~> 2.0)
|
||||
actionpack (5.1.6.2)
|
||||
actionview (= 5.1.6.2)
|
||||
activesupport (= 5.1.6.2)
|
||||
rack (~> 2.0)
|
||||
actionpack (5.2.4.1)
|
||||
actionview (= 5.2.4.1)
|
||||
activesupport (= 5.2.4.1)
|
||||
rack (~> 2.0, >= 2.0.8)
|
||||
rack-test (>= 0.6.3)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
||||
actionview (5.1.6.2)
|
||||
activesupport (= 5.1.6.2)
|
||||
actionview (5.2.4.1)
|
||||
activesupport (= 5.2.4.1)
|
||||
builder (~> 3.1)
|
||||
erubi (~> 1.4)
|
||||
rails-dom-testing (~> 2.0)
|
||||
|
|
@ -28,18 +28,22 @@ GEM
|
|||
active_model_serializers (0.9.7)
|
||||
activemodel (>= 3.2)
|
||||
concurrent-ruby (~> 1.0)
|
||||
activejob (5.1.6.2)
|
||||
activesupport (= 5.1.6.2)
|
||||
activejob (5.2.4.1)
|
||||
activesupport (= 5.2.4.1)
|
||||
globalid (>= 0.3.6)
|
||||
activemodel (5.1.6.2)
|
||||
activesupport (= 5.1.6.2)
|
||||
activerecord (5.1.6.2)
|
||||
activemodel (= 5.1.6.2)
|
||||
activesupport (= 5.1.6.2)
|
||||
arel (~> 8.0)
|
||||
activerecord-import (1.0.1)
|
||||
activemodel (5.2.4.1)
|
||||
activesupport (= 5.2.4.1)
|
||||
activerecord (5.2.4.1)
|
||||
activemodel (= 5.2.4.1)
|
||||
activesupport (= 5.2.4.1)
|
||||
arel (>= 9.0)
|
||||
activerecord-import (1.0.2)
|
||||
activerecord (>= 3.2)
|
||||
activesupport (5.1.6.2)
|
||||
activestorage (5.2.4.1)
|
||||
actionpack (= 5.2.4.1)
|
||||
activerecord (= 5.2.4.1)
|
||||
marcel (~> 0.3.1)
|
||||
activesupport (5.2.4.1)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 0.7, < 2)
|
||||
minitest (~> 5.1)
|
||||
|
|
@ -50,10 +54,10 @@ GEM
|
|||
activemodel (>= 3.0.0)
|
||||
activesupport (>= 3.0.0)
|
||||
rack (>= 1.1.0)
|
||||
addressable (2.5.2)
|
||||
addressable (2.6.0)
|
||||
public_suffix (>= 2.0.2, < 4.0)
|
||||
aes_key_wrap (1.0.1)
|
||||
arel (8.0.0)
|
||||
arel (9.0.0)
|
||||
asset_sync (2.7.0)
|
||||
activemodel (>= 4.1.0)
|
||||
fog-core
|
||||
|
|
@ -65,15 +69,15 @@ GEM
|
|||
attr_required (1.0.1)
|
||||
autoprefixer-rails (8.6.5)
|
||||
execjs
|
||||
backports (3.12.0)
|
||||
bcrypt (3.1.12)
|
||||
backports (3.15.0)
|
||||
bcrypt (3.1.13)
|
||||
bindata (2.4.4)
|
||||
bootstrap-sass (3.4.1)
|
||||
autoprefixer-rails (>= 5.2.1)
|
||||
sassc (>= 2.0.0)
|
||||
bootstrap-switch-rails (3.3.3)
|
||||
buftok (0.2.0)
|
||||
builder (3.2.3)
|
||||
builder (3.2.4)
|
||||
byebug (11.0.1)
|
||||
capybara (3.15.0)
|
||||
addressable
|
||||
|
|
@ -127,18 +131,18 @@ GEM
|
|||
compass (~> 1.0.0)
|
||||
sass-rails (< 5.1)
|
||||
sprockets (< 4.0)
|
||||
concurrent-ruby (1.1.5)
|
||||
concurrent-ruby (1.1.6)
|
||||
configurate (0.3.1)
|
||||
connection_pool (2.2.2)
|
||||
coveralls (0.8.22)
|
||||
coveralls (0.8.23)
|
||||
json (>= 1.8, < 3)
|
||||
simplecov (~> 0.16.1)
|
||||
term-ansicolor (~> 1.3)
|
||||
thor (~> 0.19.4)
|
||||
thor (>= 0.19.4, < 2.0)
|
||||
tins (~> 1.6)
|
||||
crack (0.4.3)
|
||||
safe_yaml (~> 1.0.0)
|
||||
crass (1.0.4)
|
||||
crass (1.0.6)
|
||||
cucumber (3.1.2)
|
||||
builder (>= 2.1.2)
|
||||
cucumber-core (~> 3.2.0)
|
||||
|
|
@ -156,19 +160,19 @@ GEM
|
|||
cucumber-tag_expressions (~> 1.1.0)
|
||||
gherkin (~> 5.0)
|
||||
cucumber-expressions (6.0.1)
|
||||
cucumber-rails (1.6.0)
|
||||
capybara (>= 1.1.2, < 4)
|
||||
cucumber-rails (1.7.0)
|
||||
capybara (>= 2.3.0, < 4)
|
||||
cucumber (>= 3.0.2, < 4)
|
||||
mime-types (>= 1.17, < 4)
|
||||
nokogiri (~> 1.8)
|
||||
railties (>= 4, < 6)
|
||||
railties (>= 4.2, < 7)
|
||||
cucumber-tag_expressions (1.1.1)
|
||||
cucumber-wire (0.0.1)
|
||||
database_cleaner (1.7.0)
|
||||
devise (4.6.1)
|
||||
devise (4.7.1)
|
||||
bcrypt (~> 3.0)
|
||||
orm_adapter (~> 0.1)
|
||||
railties (>= 4.1.0, < 6.0)
|
||||
railties (>= 4.1.0)
|
||||
responders
|
||||
warden (~> 1.2.3)
|
||||
devise-two-factor (3.0.3)
|
||||
|
|
@ -196,23 +200,23 @@ GEM
|
|||
fabrication (~> 2.16)
|
||||
uuid (~> 2.3, >= 2.3.8)
|
||||
diff-lcs (1.3)
|
||||
docile (1.3.1)
|
||||
docile (1.3.2)
|
||||
domain_name (0.5.20180417)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
encryptor (3.0.0)
|
||||
entypo-rails (3.0.0)
|
||||
railties (>= 4.1, < 6)
|
||||
equalizer (0.0.11)
|
||||
erubi (1.8.0)
|
||||
erubi (1.9.0)
|
||||
eslintrb (2.1.0)
|
||||
execjs
|
||||
multi_json (>= 1.3)
|
||||
rake
|
||||
et-orbi (1.1.7)
|
||||
et-orbi (1.2.1)
|
||||
tzinfo
|
||||
ethon (0.12.0)
|
||||
ffi (>= 1.3.0)
|
||||
excon (0.62.0)
|
||||
excon (0.72.0)
|
||||
execjs (2.7.0)
|
||||
eye (0.10.0)
|
||||
celluloid (~> 0.17.3)
|
||||
|
|
@ -220,7 +224,7 @@ GEM
|
|||
kostya-sigar (~> 2.0.0)
|
||||
state_machines
|
||||
thor
|
||||
fabrication (2.20.1)
|
||||
fabrication (2.20.2)
|
||||
factory_girl (4.8.0)
|
||||
activesupport (>= 3.0.0)
|
||||
factory_girl_rails (4.8.0)
|
||||
|
|
@ -231,14 +235,14 @@ GEM
|
|||
faraday-cookie_jar (0.0.6)
|
||||
faraday (>= 0.7.4)
|
||||
http-cookie (~> 1.0.0)
|
||||
faraday_middleware (0.12.2)
|
||||
faraday_middleware (0.13.1)
|
||||
faraday (>= 0.7.4, < 1.0)
|
||||
ffi (1.10.0)
|
||||
ffi (1.11.1)
|
||||
fixture_builder (0.5.2.rc3)
|
||||
activerecord (>= 2)
|
||||
activesupport (>= 2)
|
||||
hashdiff
|
||||
fog-aws (3.4.0)
|
||||
fog-aws (3.5.1)
|
||||
fog-core (~> 2.1)
|
||||
fog-json (~> 1.1)
|
||||
fog-xml (~> 0.1)
|
||||
|
|
@ -255,15 +259,15 @@ GEM
|
|||
fog-core
|
||||
nokogiri (>= 1.5.11, < 2.0.0)
|
||||
formatador (0.2.5)
|
||||
fugit (1.1.8)
|
||||
et-orbi (~> 1.1, >= 1.1.7)
|
||||
fugit (1.2.2)
|
||||
et-orbi (~> 1.1, >= 1.1.8)
|
||||
raabro (~> 1.1)
|
||||
fuubar (2.3.2)
|
||||
fuubar (2.4.1)
|
||||
rspec-core (~> 3.0)
|
||||
ruby-progressbar (~> 1.4)
|
||||
get_process_mem (0.2.3)
|
||||
gherkin (5.1.0)
|
||||
gitlab (4.10.0)
|
||||
gitlab (4.11.0)
|
||||
httparty (~> 0.14, >= 0.14.0)
|
||||
terminal-table (~> 1.5, >= 1.5.1)
|
||||
globalid (0.4.2)
|
||||
|
|
@ -298,15 +302,15 @@ GEM
|
|||
rake (>= 10, < 13)
|
||||
rubocop (>= 0.50.0)
|
||||
sysexits (~> 1.1)
|
||||
hamlit (2.9.2)
|
||||
hamlit (2.9.3)
|
||||
temple (>= 0.8.0)
|
||||
thor
|
||||
tilt
|
||||
handlebars_assets (0.23.3)
|
||||
handlebars_assets (0.23.4)
|
||||
execjs (~> 2.0)
|
||||
sprockets (>= 2.0.0)
|
||||
tilt (>= 1.2)
|
||||
hashdiff (0.3.8)
|
||||
hashdiff (0.4.0)
|
||||
hashie (3.6.0)
|
||||
http (3.3.0)
|
||||
addressable (~> 2.3)
|
||||
|
|
@ -318,11 +322,11 @@ GEM
|
|||
http-form_data (2.1.1)
|
||||
http_accept_language (2.1.1)
|
||||
http_parser.rb (0.6.0)
|
||||
httparty (0.16.4)
|
||||
httparty (0.17.0)
|
||||
mime-types (~> 3.0)
|
||||
multi_xml (>= 0.5.2)
|
||||
httpclient (2.8.3)
|
||||
i18n (1.6.0)
|
||||
i18n (1.8.2)
|
||||
concurrent-ruby (~> 1.0)
|
||||
i18n-inflector (2.6.7)
|
||||
i18n (>= 0.4.1)
|
||||
|
|
@ -331,26 +335,26 @@ GEM
|
|||
i18n-inflector (~> 2.6)
|
||||
railties (>= 3.0.0)
|
||||
ipaddress (0.8.3)
|
||||
jaro_winkler (1.5.2)
|
||||
jasmine (3.3.0)
|
||||
jasmine-core (~> 3.3.0)
|
||||
jaro_winkler (1.5.3)
|
||||
jasmine (3.4.0)
|
||||
jasmine-core (~> 3.4.0)
|
||||
phantomjs
|
||||
rack (>= 1.2.1)
|
||||
rake
|
||||
jasmine-core (3.3.0)
|
||||
jasmine-core (3.4.0)
|
||||
jasmine-jquery-rails (2.0.3)
|
||||
jquery-rails (4.3.3)
|
||||
jquery-rails (4.3.5)
|
||||
rails-dom-testing (>= 1, < 3)
|
||||
railties (>= 4.2.0)
|
||||
thor (>= 0.14, < 2.0)
|
||||
js-routes (1.4.4)
|
||||
railties (>= 3.2)
|
||||
js-routes (1.4.7)
|
||||
railties (>= 4)
|
||||
sprockets-rails
|
||||
js_image_paths (0.1.1)
|
||||
rails (>= 4.0, < 6.0)
|
||||
sprockets (>= 3.0.0)
|
||||
json (2.2.0)
|
||||
json-jwt (1.10.0)
|
||||
json-jwt (1.11.0)
|
||||
activesupport (>= 4.2)
|
||||
aes_key_wrap
|
||||
bindata
|
||||
|
|
@ -359,13 +363,13 @@ GEM
|
|||
json-schema-rspec (0.0.4)
|
||||
json-schema (~> 2.5)
|
||||
rspec
|
||||
jsonpath (1.0.1)
|
||||
jsonpath (1.0.4)
|
||||
multi_json
|
||||
to_regexp (~> 0.2.1)
|
||||
jwt (2.1.0)
|
||||
jwt (2.2.1)
|
||||
kgio (2.11.2)
|
||||
kostya-sigar (2.0.6)
|
||||
leaflet-rails (1.3.1)
|
||||
leaflet-rails (1.5.1)
|
||||
rails (>= 4.2.0)
|
||||
listen (3.1.5)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
|
|
@ -377,14 +381,16 @@ GEM
|
|||
multi_json (~> 1.10)
|
||||
logging-rails (0.6.0)
|
||||
logging (>= 1.8)
|
||||
loofah (2.2.3)
|
||||
loofah (2.4.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.5.9)
|
||||
lumberjack (1.0.13)
|
||||
macaddr (1.7.1)
|
||||
systemu (~> 2.6.2)
|
||||
macaddr (1.7.2)
|
||||
systemu (~> 2.6.5)
|
||||
mail (2.7.1)
|
||||
mini_mime (>= 0.1.1)
|
||||
marcel (0.3.3)
|
||||
mimemagic (~> 0.3.2)
|
||||
markdown-it-html5-embed (1.0.0)
|
||||
markerb (1.1.0)
|
||||
memoizable (0.4.2)
|
||||
|
|
@ -392,23 +398,24 @@ GEM
|
|||
method_source (0.9.2)
|
||||
mime-types (3.2.2)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2018.0812)
|
||||
mini_magick (4.9.3)
|
||||
mini_mime (1.0.1)
|
||||
mime-types-data (3.2019.0331)
|
||||
mimemagic (0.3.4)
|
||||
mini_magick (4.10.1)
|
||||
mini_mime (1.0.2)
|
||||
mini_portile2 (2.4.0)
|
||||
minitest (5.11.3)
|
||||
minitest (5.14.0)
|
||||
mobile-fu (1.4.0)
|
||||
rack-mobile-detect
|
||||
rails
|
||||
multi_json (1.13.1)
|
||||
multi_test (0.1.2)
|
||||
multi_xml (0.6.0)
|
||||
multipart-post (2.0.0)
|
||||
multipart-post (2.1.1)
|
||||
mysql2 (0.5.2)
|
||||
naught (1.1.0)
|
||||
nenv (0.3.0)
|
||||
nio4r (2.3.1)
|
||||
nokogiri (1.10.1)
|
||||
nio4r (2.5.2)
|
||||
nokogiri (1.10.8)
|
||||
mini_portile2 (~> 2.4.0)
|
||||
notiffany (0.1.1)
|
||||
nenv (~> 0.1)
|
||||
|
|
@ -420,7 +427,7 @@ GEM
|
|||
multi_json (~> 1.3)
|
||||
multi_xml (~> 0.5)
|
||||
rack (>= 1.2, < 3)
|
||||
octokit (4.13.0)
|
||||
octokit (4.14.0)
|
||||
sawyer (~> 0.8.0, >= 0.5.3)
|
||||
omniauth (1.9.0)
|
||||
hashie (>= 3.4.6, < 3.7.0)
|
||||
|
|
@ -439,10 +446,10 @@ GEM
|
|||
rack
|
||||
omniauth-wordpress (0.2.2)
|
||||
omniauth-oauth2 (>= 1.1.0)
|
||||
open_graph_reader (0.6.2)
|
||||
open_graph_reader (0.7.0)
|
||||
faraday (>= 0.9.0)
|
||||
nokogiri (~> 1.6)
|
||||
openid_connect (1.1.6)
|
||||
openid_connect (1.1.8)
|
||||
activemodel
|
||||
attr_required (>= 1.0.0)
|
||||
json-jwt (>= 1.5.0)
|
||||
|
|
@ -453,8 +460,8 @@ GEM
|
|||
validate_url
|
||||
webfinger (>= 1.0.1)
|
||||
orm_adapter (0.5.0)
|
||||
parallel (1.14.0)
|
||||
parser (2.6.2.0)
|
||||
parallel (1.17.0)
|
||||
parser (2.6.3.0)
|
||||
ast (~> 2.4.0)
|
||||
pg (1.1.4)
|
||||
phantomjs (2.1.1.0)
|
||||
|
|
@ -462,24 +469,24 @@ GEM
|
|||
capybara (>= 2.1, < 4)
|
||||
cliver (~> 0.3.1)
|
||||
websocket-driver (>= 0.2.0)
|
||||
pronto (0.9.5)
|
||||
pronto (0.10.0)
|
||||
gitlab (~> 4.0, >= 4.0.0)
|
||||
httparty (>= 0.13.7)
|
||||
octokit (~> 4.7, >= 4.7.0)
|
||||
rainbow (~> 2.1)
|
||||
rainbow (>= 2.2, < 4.0)
|
||||
rugged (~> 0.24, >= 0.23.0)
|
||||
thor (~> 0.19.0)
|
||||
pronto-eslint (0.9.1)
|
||||
thor (~> 0.20.0)
|
||||
pronto-eslint (0.10.0)
|
||||
eslintrb (~> 2.0, >= 2.0.0)
|
||||
pronto (~> 0.9.0)
|
||||
pronto-haml (0.9.0)
|
||||
pronto (~> 0.10.0)
|
||||
pronto-haml (0.10.0)
|
||||
haml_lint (~> 0.23)
|
||||
pronto (~> 0.9.0)
|
||||
pronto-rubocop (0.9.1)
|
||||
pronto (~> 0.9.0)
|
||||
pronto (~> 0.10.0)
|
||||
pronto-rubocop (0.10.0)
|
||||
pronto (~> 0.10.0)
|
||||
rubocop (~> 0.50, >= 0.49.1)
|
||||
pronto-scss (0.9.1)
|
||||
pronto (~> 0.9.0)
|
||||
pronto-scss (0.10.0)
|
||||
pronto (~> 0.10.0)
|
||||
scss_lint (~> 0.43, >= 0.43.0)
|
||||
pry (0.12.2)
|
||||
coderay (~> 1.1.0)
|
||||
|
|
@ -487,17 +494,17 @@ GEM
|
|||
pry-byebug (3.7.0)
|
||||
byebug (~> 11.0)
|
||||
pry (~> 0.10)
|
||||
psych (3.1.0)
|
||||
public_suffix (3.0.3)
|
||||
public_suffix (3.1.1)
|
||||
raabro (1.1.6)
|
||||
rack (2.0.6)
|
||||
rack-cors (1.0.2)
|
||||
rack (2.2.2)
|
||||
rack-cors (1.1.1)
|
||||
rack (>= 2.0.0)
|
||||
rack-google-analytics (1.2.0)
|
||||
actionpack
|
||||
activesupport
|
||||
rack-mobile-detect (0.4.0)
|
||||
rack
|
||||
rack-oauth2 (1.9.3)
|
||||
rack-oauth2 (1.10.0)
|
||||
activesupport
|
||||
attr_required
|
||||
httpclient
|
||||
|
|
@ -511,23 +518,24 @@ GEM
|
|||
rack
|
||||
rack-test (1.1.0)
|
||||
rack (>= 1.0, < 3)
|
||||
rails (5.1.6.2)
|
||||
actioncable (= 5.1.6.2)
|
||||
actionmailer (= 5.1.6.2)
|
||||
actionpack (= 5.1.6.2)
|
||||
actionview (= 5.1.6.2)
|
||||
activejob (= 5.1.6.2)
|
||||
activemodel (= 5.1.6.2)
|
||||
activerecord (= 5.1.6.2)
|
||||
activesupport (= 5.1.6.2)
|
||||
rails (5.2.4.1)
|
||||
actioncable (= 5.2.4.1)
|
||||
actionmailer (= 5.2.4.1)
|
||||
actionpack (= 5.2.4.1)
|
||||
actionview (= 5.2.4.1)
|
||||
activejob (= 5.2.4.1)
|
||||
activemodel (= 5.2.4.1)
|
||||
activerecord (= 5.2.4.1)
|
||||
activestorage (= 5.2.4.1)
|
||||
activesupport (= 5.2.4.1)
|
||||
bundler (>= 1.3.0)
|
||||
railties (= 5.1.6.2)
|
||||
railties (= 5.2.4.1)
|
||||
sprockets-rails (>= 2.0.0)
|
||||
rails-assets-autosize (4.0.2)
|
||||
rails-assets-backbone (1.3.3)
|
||||
rails-assets-underscore (>= 1.8.3)
|
||||
rails-assets-blueimp-gallery (2.33.0)
|
||||
rails-assets-bootstrap (3.3.7)
|
||||
rails-assets-bootstrap (3.4.1)
|
||||
rails-assets-jquery (>= 1.9.1, < 4)
|
||||
rails-assets-bootstrap-markdown (2.10.0)
|
||||
rails-assets-bootstrap (~> 3)
|
||||
|
|
@ -544,10 +552,10 @@ GEM
|
|||
rails-assets-favico.js (0.3.10)
|
||||
rails-assets-fine-uploader (5.13.0)
|
||||
rails-assets-highlightjs (9.12.0)
|
||||
rails-assets-jasmine (3.3.0)
|
||||
rails-assets-jasmine-ajax (3.4.0)
|
||||
rails-assets-jasmine (3.4.0)
|
||||
rails-assets-jasmine-ajax (4.0.0)
|
||||
rails-assets-jasmine (~> 3)
|
||||
rails-assets-jquery (3.3.1)
|
||||
rails-assets-jquery (3.4.1)
|
||||
rails-assets-jquery-colorbox (1.6.4)
|
||||
rails-assets-jquery (>= 1.3.2)
|
||||
rails-assets-jquery-fullscreen-plugin (0.5.0)
|
||||
|
|
@ -576,30 +584,29 @@ GEM
|
|||
rails-dom-testing (2.0.3)
|
||||
activesupport (>= 4.2.0)
|
||||
nokogiri (>= 1.6)
|
||||
rails-html-sanitizer (1.0.4)
|
||||
loofah (~> 2.2, >= 2.2.2)
|
||||
rails-html-sanitizer (1.3.0)
|
||||
loofah (~> 2.3)
|
||||
rails-i18n (5.1.3)
|
||||
i18n (>= 0.7, < 2)
|
||||
railties (>= 5.0, < 6)
|
||||
rails-timeago (2.17.1)
|
||||
actionpack (>= 3.1)
|
||||
activesupport (>= 3.1)
|
||||
railties (5.1.6.2)
|
||||
actionpack (= 5.1.6.2)
|
||||
activesupport (= 5.1.6.2)
|
||||
railties (5.2.4.1)
|
||||
actionpack (= 5.2.4.1)
|
||||
activesupport (= 5.2.4.1)
|
||||
method_source
|
||||
rake (>= 0.8.7)
|
||||
thor (>= 0.18.1, < 2.0)
|
||||
rainbow (2.2.2)
|
||||
rake
|
||||
thor (>= 0.19.0, < 2.0)
|
||||
rainbow (3.0.0)
|
||||
raindrops (0.19.0)
|
||||
rake (12.3.2)
|
||||
rake (12.3.3)
|
||||
rb-fsevent (0.10.3)
|
||||
rb-inotify (0.10.0)
|
||||
ffi (~> 1.0)
|
||||
redcarpet (3.4.0)
|
||||
redis (3.3.5)
|
||||
regexp_parser (1.3.0)
|
||||
regexp_parser (1.5.1)
|
||||
request_store (1.4.1)
|
||||
rack (>= 1.4)
|
||||
responders (2.4.1)
|
||||
|
|
@ -612,13 +619,13 @@ GEM
|
|||
rspec-core (~> 3.8.0)
|
||||
rspec-expectations (~> 3.8.0)
|
||||
rspec-mocks (~> 3.8.0)
|
||||
rspec-core (3.8.0)
|
||||
rspec-core (3.8.2)
|
||||
rspec-support (~> 3.8.0)
|
||||
rspec-expectations (3.8.2)
|
||||
rspec-expectations (3.8.4)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.8.0)
|
||||
rspec-json_expectations (2.1.0)
|
||||
rspec-mocks (3.8.0)
|
||||
rspec-json_expectations (2.2.0)
|
||||
rspec-mocks (3.8.1)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.8.0)
|
||||
rspec-rails (3.8.2)
|
||||
|
|
@ -629,20 +636,22 @@ GEM
|
|||
rspec-expectations (~> 3.8.0)
|
||||
rspec-mocks (~> 3.8.0)
|
||||
rspec-support (~> 3.8.0)
|
||||
rspec-support (3.8.0)
|
||||
rubocop (0.66.0)
|
||||
rspec-support (3.8.2)
|
||||
rubocop (0.72.0)
|
||||
jaro_winkler (~> 1.5.1)
|
||||
parallel (~> 1.10)
|
||||
parser (>= 2.5, != 2.5.1.1)
|
||||
psych (>= 3.1.0)
|
||||
parser (>= 2.6)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 1.4.0, < 1.6)
|
||||
unicode-display_width (>= 1.4.0, < 1.7)
|
||||
rubocop-rails (2.1.0)
|
||||
rack (>= 1.1)
|
||||
rubocop (>= 0.72.0)
|
||||
ruby-oembed (0.12.0)
|
||||
ruby-progressbar (1.10.0)
|
||||
ruby-progressbar (1.10.1)
|
||||
ruby_dep (1.5.0)
|
||||
rubyzip (1.2.2)
|
||||
rugged (0.28.1)
|
||||
rubyzip (1.3.0)
|
||||
rugged (0.28.2)
|
||||
safe_yaml (1.0.5)
|
||||
sass (3.4.25)
|
||||
sass-rails (5.0.7)
|
||||
|
|
@ -654,17 +663,17 @@ GEM
|
|||
sassc (2.0.1)
|
||||
ffi (~> 1.9)
|
||||
rake
|
||||
sawyer (0.8.1)
|
||||
addressable (>= 2.3.5, < 2.6)
|
||||
faraday (~> 0.8, < 1.0)
|
||||
sawyer (0.8.2)
|
||||
addressable (>= 2.3.5)
|
||||
faraday (> 0.8, < 2.0)
|
||||
scss_lint (0.55.0)
|
||||
rake (>= 0.9, < 13)
|
||||
sass (~> 3.4.20)
|
||||
secure_headers (6.1.0)
|
||||
secure_headers (6.3.0)
|
||||
shellany (0.0.1)
|
||||
shoulda-matchers (4.0.1)
|
||||
activesupport (>= 4.2.0)
|
||||
sidekiq (5.2.5)
|
||||
sidekiq (5.2.7)
|
||||
connection_pool (~> 2.2, >= 2.2.2)
|
||||
rack (>= 1.5.0)
|
||||
rack-protection (>= 1.5.0)
|
||||
|
|
@ -708,12 +717,12 @@ GEM
|
|||
tins (~> 1.0)
|
||||
terminal-table (1.8.0)
|
||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||
thor (0.19.4)
|
||||
thor (0.20.3)
|
||||
thread_safe (0.3.6)
|
||||
tilt (2.0.9)
|
||||
timecop (0.9.1)
|
||||
timers (4.3.0)
|
||||
tins (1.20.2)
|
||||
tins (1.20.3)
|
||||
to_regexp (0.2.1)
|
||||
turbo_dev_assets (0.0.2)
|
||||
twitter (6.2.0)
|
||||
|
|
@ -731,15 +740,15 @@ GEM
|
|||
unf (~> 0.1.0)
|
||||
typhoeus (1.3.1)
|
||||
ethon (>= 0.9.0)
|
||||
tzinfo (1.2.5)
|
||||
tzinfo (1.2.6)
|
||||
thread_safe (~> 0.1)
|
||||
uglifier (4.1.20)
|
||||
execjs (>= 0.3.0, < 3)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.7.5)
|
||||
unicode-display_width (1.5.0)
|
||||
unicorn (5.5.0)
|
||||
unf_ext (0.0.7.6)
|
||||
unicode-display_width (1.6.0)
|
||||
unicorn (5.5.1)
|
||||
kgio (~> 2.6)
|
||||
raindrops (~> 0.7)
|
||||
unicorn-worker-killer (0.4.4)
|
||||
|
|
@ -751,10 +760,10 @@ GEM
|
|||
validate_email (0.1.6)
|
||||
activemodel (>= 3.0)
|
||||
mail (>= 2.2.5)
|
||||
validate_url (1.0.6)
|
||||
validate_url (1.0.8)
|
||||
activemodel (>= 3.0.0)
|
||||
public_suffix
|
||||
versionist (1.7.0)
|
||||
versionist (2.0.0)
|
||||
activesupport (>= 3)
|
||||
railties (>= 3)
|
||||
yard (~> 0.9.11)
|
||||
|
|
@ -763,27 +772,27 @@ GEM
|
|||
webfinger (1.1.0)
|
||||
activesupport
|
||||
httpclient (>= 2.4)
|
||||
webmock (3.5.1)
|
||||
webmock (3.6.0)
|
||||
addressable (>= 2.3.6)
|
||||
crack (>= 0.3.2)
|
||||
hashdiff
|
||||
websocket-driver (0.6.5)
|
||||
hashdiff (>= 0.4.0, < 2.0.0)
|
||||
websocket-driver (0.7.1)
|
||||
websocket-extensions (>= 0.1.0)
|
||||
websocket-extensions (0.1.3)
|
||||
websocket-extensions (0.1.4)
|
||||
will_paginate (3.1.7)
|
||||
xpath (3.2.0)
|
||||
nokogiri (~> 1.8)
|
||||
yard (0.9.18)
|
||||
yard (0.9.20)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
active_model_serializers (= 0.9.7)
|
||||
activerecord-import (= 1.0.1)
|
||||
activerecord-import (= 1.0.2)
|
||||
acts-as-taggable-on (= 6.0.0)
|
||||
acts_as_api (= 1.0.1)
|
||||
addressable (= 2.5.2)
|
||||
addressable (= 2.6.0)
|
||||
asset_sync (= 2.7.0)
|
||||
autoprefixer-rails (= 8.6.5)
|
||||
bootstrap-sass (= 3.4.1)
|
||||
|
|
@ -792,11 +801,11 @@ DEPENDENCIES
|
|||
carrierwave (= 1.3.1)
|
||||
compass-rails (= 3.1.0)
|
||||
configurate (= 0.3.1)
|
||||
coveralls (= 0.8.22)
|
||||
coveralls (= 0.8.23)
|
||||
cucumber-api-steps (= 0.14)
|
||||
cucumber-rails (= 1.6.0)
|
||||
cucumber-rails (= 1.7.0)
|
||||
database_cleaner (= 1.7.0)
|
||||
devise (= 4.6.1)
|
||||
devise (= 4.7.1)
|
||||
devise-two-factor (= 3.0.3)
|
||||
devise_lastseenable (= 0.0.6)
|
||||
diaspora-prosody-config (= 0.0.7)
|
||||
|
|
@ -808,57 +817,57 @@ DEPENDENCIES
|
|||
factory_girl_rails (= 4.8.0)
|
||||
faraday (= 0.15.4)
|
||||
faraday-cookie_jar (= 0.0.6)
|
||||
faraday_middleware (= 0.12.2)
|
||||
faraday_middleware (= 0.13.1)
|
||||
fixture_builder (= 0.5.2.rc3)
|
||||
fog-aws (= 3.4.0)
|
||||
fuubar (= 2.3.2)
|
||||
fog-aws (= 3.5.1)
|
||||
fuubar (= 2.4.1)
|
||||
gon (= 6.2.1)
|
||||
guard (= 2.15.0)
|
||||
guard-rspec (= 4.7.3)
|
||||
guard-rubocop (= 1.3.0)
|
||||
haml_lint (= 0.28.0)
|
||||
hamlit (= 2.9.2)
|
||||
handlebars_assets (= 0.23.3)
|
||||
hamlit (= 2.9.3)
|
||||
handlebars_assets (= 0.23.4)
|
||||
http_accept_language (= 2.1.1)
|
||||
i18n-inflector-rails (= 1.0.7)
|
||||
jasmine (= 3.3.0)
|
||||
jasmine (= 3.4.0)
|
||||
jasmine-jquery-rails (= 2.0.3)
|
||||
jquery-rails (= 4.3.3)
|
||||
js-routes (= 1.4.4)
|
||||
jquery-rails (= 4.3.5)
|
||||
js-routes (= 1.4.7)
|
||||
js_image_paths (= 0.1.1)
|
||||
json (= 2.2.0)
|
||||
json-schema (= 2.8.1)
|
||||
json-schema-rspec (= 0.0.4)
|
||||
leaflet-rails (= 1.3.1)
|
||||
leaflet-rails (= 1.5.1)
|
||||
logging-rails (= 0.6.0)
|
||||
markdown-it-html5-embed (= 1.0.0)
|
||||
markerb (= 1.1.0)
|
||||
mini_magick (= 4.9.3)
|
||||
mini_magick (= 4.10.1)
|
||||
minitest
|
||||
mobile-fu (= 1.4.0)
|
||||
mysql2 (= 0.5.2)
|
||||
nokogiri (= 1.10.1)
|
||||
nokogiri (= 1.10.8)
|
||||
omniauth (= 1.9.0)
|
||||
omniauth-tumblr (= 1.2)
|
||||
omniauth-twitter (= 1.4.0)
|
||||
omniauth-wordpress (= 0.2.2)
|
||||
open_graph_reader (= 0.6.2)
|
||||
openid_connect (= 1.1.6)
|
||||
open_graph_reader (= 0.7.0)
|
||||
openid_connect (= 1.1.8)
|
||||
pg (= 1.1.4)
|
||||
poltergeist (= 1.18.1)
|
||||
pronto (= 0.9.5)
|
||||
pronto-eslint (= 0.9.1)
|
||||
pronto-haml (= 0.9.0)
|
||||
pronto-rubocop (= 0.9.1)
|
||||
pronto-scss (= 0.9.1)
|
||||
pronto (= 0.10.0)
|
||||
pronto-eslint (= 0.10.0)
|
||||
pronto-haml (= 0.10.0)
|
||||
pronto-rubocop (= 0.10.0)
|
||||
pronto-scss (= 0.10.0)
|
||||
pry
|
||||
pry-byebug
|
||||
rack-cors (= 1.0.2)
|
||||
rack-cors (= 1.1.1)
|
||||
rack-google-analytics (= 1.2.0)
|
||||
rack-piwik (= 0.3.0)
|
||||
rack-rewrite (= 1.5.1)
|
||||
rack-ssl (= 1.4.1)
|
||||
rails (= 5.1.6.2)
|
||||
rails (= 5.2.4.1)
|
||||
rails-assets-autosize (= 4.0.2)!
|
||||
rails-assets-backbone (= 1.3.3)!
|
||||
rails-assets-blueimp-gallery (= 2.33.0)!
|
||||
|
|
@ -867,8 +876,8 @@ DEPENDENCIES
|
|||
rails-assets-diaspora_jsxc (= 0.1.5.develop.7)!
|
||||
rails-assets-fine-uploader (= 5.13.0)!
|
||||
rails-assets-highlightjs (= 9.12.0)!
|
||||
rails-assets-jasmine-ajax (= 3.4.0)!
|
||||
rails-assets-jquery (= 3.3.1)!
|
||||
rails-assets-jasmine-ajax (= 4.0.0)!
|
||||
rails-assets-jquery (= 3.4.1)!
|
||||
rails-assets-jquery-placeholder (= 2.3.1)!
|
||||
rails-assets-jquery-textchange (= 0.2.3)!
|
||||
rails-assets-jquery.are-you-sure (= 1.9.0)!
|
||||
|
|
@ -892,13 +901,14 @@ DEPENDENCIES
|
|||
rqrcode (= 0.10.1)
|
||||
rspec-json_expectations (~> 2.1)
|
||||
rspec-rails (= 3.8.2)
|
||||
rubocop (= 0.66.0)
|
||||
rubocop (= 0.72.0)
|
||||
rubocop-rails (= 2.1.0)
|
||||
ruby-oembed (= 0.12.0)
|
||||
rubyzip (= 1.2.2)
|
||||
rubyzip (= 1.3.0)
|
||||
sass-rails (= 5.0.7)
|
||||
secure_headers (= 6.1.0)
|
||||
secure_headers (= 6.3.0)
|
||||
shoulda-matchers (= 4.0.1)
|
||||
sidekiq (= 5.2.5)
|
||||
sidekiq (= 5.2.7)
|
||||
sidekiq-cron (= 1.1.0)
|
||||
simple_captcha2 (= 0.4.3)
|
||||
simplecov (= 0.16.1)
|
||||
|
|
@ -914,11 +924,11 @@ DEPENDENCIES
|
|||
twitter-text (= 1.14.7)
|
||||
typhoeus (= 1.3.1)
|
||||
uglifier (= 4.1.20)
|
||||
unicorn (= 5.5.0)
|
||||
unicorn (= 5.5.1)
|
||||
unicorn-worker-killer (= 0.4.4)
|
||||
uuid (= 2.3.9)
|
||||
versionist (= 1.7.0)
|
||||
webmock (= 3.5.1)
|
||||
versionist (= 2.0.0)
|
||||
webmock (= 3.6.0)
|
||||
will_paginate (= 3.1.7)
|
||||
|
||||
BUNDLED WITH
|
||||
|
|
|
|||
|
|
@ -51,7 +51,11 @@ class AdminsController < Admin::AdminController
|
|||
end
|
||||
|
||||
def stats
|
||||
@popular_tags = ActsAsTaggableOn::Tagging.joins(:tag).limit(50).order('count(taggings.id) DESC').group(:tag).count
|
||||
@popular_tags = ActsAsTaggableOn::Tagging.joins(:tag)
|
||||
.limit(50)
|
||||
.order(Arel.sql("count(taggings.id) DESC"))
|
||||
.group(:tag)
|
||||
.count
|
||||
|
||||
case params[:range]
|
||||
when "week"
|
||||
|
|
@ -72,7 +76,10 @@ class AdminsController < Admin::AdminController
|
|||
create_hash(model, :range => range)
|
||||
end
|
||||
|
||||
@posts_per_day = Post.where("created_at >= ?", Date.today - 21.days).group("DATE(created_at)").order("DATE(created_at) ASC").count
|
||||
@posts_per_day = Post.where("created_at >= ?", Time.zone.today - 21.days)
|
||||
.group(Arel.sql("DATE(created_at)"))
|
||||
.order(Arel.sql("DATE(created_at) ASC"))
|
||||
.count
|
||||
@most_posts_within = @posts_per_day.values.max.to_f
|
||||
|
||||
@user_count = User.count
|
||||
|
|
|
|||
|
|
@ -104,8 +104,9 @@ module Api
|
|||
end
|
||||
|
||||
def handle_start_point_response(endpoint)
|
||||
_status, header, response = endpoint.call(request.env)
|
||||
if response.redirect?
|
||||
status, header, _response = endpoint.call(request.env)
|
||||
|
||||
if status.in?([301, 302, 303, 307, 308])
|
||||
redirect_to header["Location"]
|
||||
else
|
||||
save_params_and_render_consent_form(endpoint)
|
||||
|
|
|
|||
|
|
@ -29,21 +29,19 @@ class AspectsController < ApplicationController
|
|||
end
|
||||
|
||||
def destroy
|
||||
@aspect = current_user.aspects.where(id: params[:id]).first
|
||||
|
||||
begin
|
||||
if current_user.auto_follow_back && @aspect.id == current_user.auto_follow_back_aspect.id
|
||||
if current_user.auto_follow_back && aspect.id == current_user.auto_follow_back_aspect.id
|
||||
current_user.update(auto_follow_back: false, auto_follow_back_aspect: nil)
|
||||
flash[:notice] = I18n.t "aspects.destroy.success_auto_follow_back", name: @aspect.name
|
||||
flash[:notice] = I18n.t "aspects.destroy.success_auto_follow_back", name: aspect.name
|
||||
else
|
||||
flash[:notice] = I18n.t "aspects.destroy.success", name: @aspect.name
|
||||
flash[:notice] = I18n.t "aspects.destroy.success", name: aspect.name
|
||||
end
|
||||
@aspect.destroy
|
||||
aspect.destroy
|
||||
rescue ActiveRecord::StatementInvalid => e
|
||||
flash[:error] = I18n.t "aspects.destroy.failure", name: @aspect.name
|
||||
flash[:error] = I18n.t "aspects.destroy.failure", name: aspect.name
|
||||
end
|
||||
|
||||
if request.referer.include?('contacts')
|
||||
if request.referer.include?("contacts")
|
||||
redirect_to contacts_path
|
||||
else
|
||||
redirect_to aspects_path
|
||||
|
|
@ -51,41 +49,41 @@ class AspectsController < ApplicationController
|
|||
end
|
||||
|
||||
def show
|
||||
if @aspect = current_user.aspects.where(:id => params[:id]).first
|
||||
redirect_to aspects_path('a_ids[]' => @aspect.id)
|
||||
if aspect
|
||||
redirect_to aspects_path("a_ids[]" => aspect.id)
|
||||
else
|
||||
redirect_to aspects_path
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
@aspect = current_user.aspects.where(:id => params[:id]).first
|
||||
|
||||
if @aspect.update_attributes!(aspect_params)
|
||||
flash[:notice] = I18n.t 'aspects.update.success', :name => @aspect.name
|
||||
if aspect.update!(aspect_params)
|
||||
flash[:notice] = I18n.t "aspects.update.success", name: aspect.name
|
||||
else
|
||||
flash[:error] = I18n.t 'aspects.update.failure', :name => @aspect.name
|
||||
flash[:error] = I18n.t "aspects.update.failure", name: aspect.name
|
||||
end
|
||||
render :json => { :id => @aspect.id, :name => @aspect.name }
|
||||
render json: {id: aspect.id, name: aspect.name}
|
||||
end
|
||||
|
||||
def update_order
|
||||
params[:ordered_aspect_ids].each_with_index do |id, i|
|
||||
current_user.aspects.find(id).update_attributes(order_id: i)
|
||||
current_user.aspects.find(id).update(order_id: i)
|
||||
end
|
||||
head :no_content
|
||||
end
|
||||
|
||||
def toggle_chat_privilege
|
||||
@aspect = current_user.aspects.where(:id => params[:aspect_id]).first
|
||||
|
||||
@aspect.chat_enabled = !@aspect.chat_enabled
|
||||
@aspect.save
|
||||
aspect.chat_enabled = !aspect.chat_enabled
|
||||
aspect.save
|
||||
head :no_content
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def aspect
|
||||
@aspect ||= current_user.aspects.where(id: (params[:id] || params[:aspect_id])).first
|
||||
end
|
||||
|
||||
def connect_person_to_aspect(aspecting_person_id)
|
||||
@person = Person.find(aspecting_person_id)
|
||||
if @contact = current_user.contact_for(@person)
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ class ContactsController < ApplicationController
|
|||
when "receiving"
|
||||
current_user.contacts.receiving
|
||||
when "by_aspect"
|
||||
order.unshift "contact_id IS NOT NULL DESC"
|
||||
order.unshift Arel.sql("contact_id IS NOT NULL DESC")
|
||||
contacts_by_aspect(@aspect.id)
|
||||
else
|
||||
raise ArgumentError, "unknown type #{type}"
|
||||
|
|
|
|||
|
|
@ -147,12 +147,7 @@ class PhotosController < ApplicationController
|
|||
current_user.dispatch_post(@photo, to: photo_params[:aspect_ids])
|
||||
end
|
||||
|
||||
if photo_params[:set_profile_photo]
|
||||
profile_params = {:image_url => @photo.url(:thumb_large),
|
||||
:image_url_medium => @photo.url(:thumb_medium),
|
||||
:image_url_small => @photo.url(:thumb_small)}
|
||||
current_user.update_profile(profile_params)
|
||||
end
|
||||
current_user.update_profile(photo: @photo) if photo_params[:set_profile_photo]
|
||||
|
||||
respond_to do |format|
|
||||
format.json{ render(:layout => false , :json => {"success" => true, "data" => @photo}.to_json )}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ module SessionsHelper
|
|||
end
|
||||
|
||||
def display_registration_link?
|
||||
AppConfig.settings.enable_registrations? && devise_mapping.registerable? && controller_name != "registrations"
|
||||
AppConfig.settings.enable_registrations? && controller_name != "registrations"
|
||||
end
|
||||
|
||||
def display_password_reset_link?
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ class Person < ApplicationRecord
|
|||
contacts.id IS NOT NULL AS is_contact
|
||||
SQL
|
||||
)
|
||||
.order(<<-SQL
|
||||
.order(Arel.sql(<<-SQL
|
||||
is_author DESC,
|
||||
is_commenter DESC,
|
||||
is_liker DESC,
|
||||
|
|
@ -170,7 +170,7 @@ class Person < ApplicationRecord
|
|||
profiles.full_name,
|
||||
people.diaspora_handle
|
||||
SQL
|
||||
)
|
||||
))
|
||||
}
|
||||
|
||||
def self.community_spotlight
|
||||
|
|
@ -185,6 +185,8 @@ class Person < ApplicationRecord
|
|||
# end
|
||||
# will not work! The nil profile will be overriden with an empty one.
|
||||
def initialize(params={})
|
||||
params = {} if params.nil?
|
||||
|
||||
profile_set = params.has_key?(:profile) || params.has_key?("profile")
|
||||
params[:profile_attributes] = params.delete(:profile) if params.has_key?(:profile) && params[:profile].is_a?(Hash)
|
||||
super
|
||||
|
|
@ -207,7 +209,7 @@ class Person < ApplicationRecord
|
|||
self.guid
|
||||
end
|
||||
|
||||
private_class_method def self.search_query_string(query)
|
||||
def self.search_query_string(query)
|
||||
query = query.downcase
|
||||
like_operator = AppConfig.postgres? ? "ILIKE" : "LIKE"
|
||||
|
||||
|
|
@ -239,7 +241,7 @@ class Person < ApplicationRecord
|
|||
query = query.where(contacts: {sharing: true, receiving: true}) if mutual
|
||||
|
||||
query.where(closed_account: false)
|
||||
.order(["contacts.user_id IS NULL", "profiles.last_name ASC", "profiles.first_name ASC"])
|
||||
.order([Arel.sql("contacts.user_id IS NULL"), "profiles.last_name ASC", "profiles.first_name ASC"])
|
||||
end
|
||||
|
||||
def name(opts = {})
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ class LikeService
|
|||
|
||||
def find_for_post(post_id)
|
||||
likes = post_service.find!(post_id).likes
|
||||
user ? likes.order("author_id = #{user.person.id} DESC") : likes
|
||||
user ? likes.order(Arel.sql("author_id = #{user.person.id} DESC")) : likes
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ class ReshareService
|
|||
|
||||
def find_for_post(post_id)
|
||||
reshares = post_service.find!(post_id).reshares
|
||||
user ? reshares.order("author_id = #{user.person.id} DESC") : reshares
|
||||
user ? reshares.order(Arel.sql("author_id = #{user.person.id} DESC")) : reshares
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
-# licensed under the Affero General Public License version 3 or later. See
|
||||
-# the COPYRIGHT file.
|
||||
|
||||
%script{nonce: content_security_policy_nonce(:script)}
|
||||
%script{nonce: content_security_policy_script_nonce}
|
||||
:plain
|
||||
$(document).ready(function () {
|
||||
var data = $.parseJSON( "#{escape_javascript(@contacts_json).html_safe}" ),
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
= stylesheet_link_tag :poltergeist_disable_transition, media: "all"
|
||||
|
||||
= jquery_include_tag
|
||||
= include_gon(camel_case: true, nonce: content_security_policy_nonce(:script))
|
||||
= include_gon(camel_case: true, nonce: content_security_policy_script_nonce)
|
||||
= yield(:javascript)
|
||||
|
||||
= csrf_meta_tag
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
%ul.nav.navbar-nav.navbar-right
|
||||
- unless current_page?(controller: "/registrations", action: :new)
|
||||
- if display_registration_link? && !current_page?(controller: "/registrations", action: :new)
|
||||
%li= link_to t("devise.shared.links.sign_up"), new_user_registration_path, class: "login"
|
||||
- unless current_page?(controller: "/sessions", action: :new)
|
||||
%li= link_to t("devise.shared.links.sign_in"), new_user_session_path, class: "login"
|
||||
|
|
|
|||
11
app/workers/cleanup_pending_photos.rb
Normal file
11
app/workers/cleanup_pending_photos.rb
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Workers
|
||||
class CleanupPendingPhotos < Base
|
||||
sidekiq_options queue: :low
|
||||
|
||||
def perform
|
||||
Photo.where(pending: true).where("created_at < ?", 1.day.ago).destroy_all
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
defaults:
|
||||
version:
|
||||
number: "0.7.12.0" # Do not touch unless doing a release, do not backport the version number that's in master
|
||||
number: "0.7.13.0" # Do not touch unless doing a release, do not backport the version number that's in master
|
||||
heroku: false
|
||||
environment:
|
||||
url: "http://localhost:3000/"
|
||||
|
|
|
|||
|
|
@ -186,8 +186,8 @@ configuration: ## Section
|
|||
#rails_environment: 'development'
|
||||
|
||||
## Write unicorn stderr and stdout log.
|
||||
#stderr_log: '/usr/local/app/diaspora/log/unicorn-stderr.log'
|
||||
#stdout_log: '/usr/local/app/diaspora/log/unicorn-stdout.log'
|
||||
#stderr_log: 'log/unicorn-stderr.log'
|
||||
#stdout_log: 'log/unicorn-stdout.log'
|
||||
|
||||
## Number of Unicorn worker processes (default=2).
|
||||
## Increase this if you have many users.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
Rails.application.config.secret_token = AppConfig.secret_token
|
||||
Rails.application.config.secret_key_base = AppConfig.secret_token
|
||||
|
|
|
|||
|
|
@ -29,6 +29,11 @@ def default_job_config
|
|||
"class": "Workers::CleanupOldExports"
|
||||
},
|
||||
|
||||
cleanup_pending_photos: {
|
||||
"cron": "#{random_minute.call} #{random_hour.call} * * *",
|
||||
"class": "Workers::CleanupPendingPhotos"
|
||||
},
|
||||
|
||||
queue_users_for_removal: {
|
||||
"cron": "#{random_minute.call} #{random_hour.call} * * *",
|
||||
"class": "Workers::QueueUsersForRemoval"
|
||||
|
|
|
|||
|
|
@ -596,7 +596,7 @@ de:
|
|||
diaspora_site_link: "föderierten diaspora*-Netzwerks"
|
||||
headline: "Willkommen auf %{pod_name}"
|
||||
own_your_data: "Deine Daten, dein Eigentum"
|
||||
own_your_data_info: "Viele Netzwerke nutzen deine Daten, um Geld zu verdienen, indem Sie deine Interaktionen auswerten und diese Informationen verwenden, um dir Werbung zu zeigen. diaspora* nutzt deine Daten zu keinem anderen Zweck, als es dir zu ermöglichen, dich mit anderen zu verbinden und mit ihnen zu teilen."
|
||||
own_your_data_info: "Viele Netzwerke nutzen deine Daten, um Geld zu verdienen, indem sie deine Interaktionen auswerten und diese Informationen verwenden, um dir Werbung zu zeigen. diaspora* nutzt deine Daten zu keinem anderen Zweck, als es dir zu ermöglichen, dich mit anderen zu verbinden und mit ihnen zu teilen."
|
||||
part_of_diaspora: "Teil des %{diaspora_site_link}"
|
||||
podmin:
|
||||
byline: "Du bist drauf und dran, das Internet zu ändern. Lass uns gleich alles einrichten, okay?"
|
||||
|
|
|
|||
|
|
@ -669,6 +669,7 @@ eo:
|
|||
auto_follow_aspect: "Aspekto por aŭtomate sekvataj uzantoj"
|
||||
auto_follow_back: "Aŭtomate konigu reen, se iu konigas al vi."
|
||||
change: "Ŝanĝi"
|
||||
change_color_theme: "Ŝanĝi koloran etoson"
|
||||
change_email: "Redakti retpoŝtadreson"
|
||||
change_language: "Ŝanĝi lingvon"
|
||||
change_password: "Ŝanĝi pasvorton"
|
||||
|
|
@ -717,6 +718,7 @@ eo:
|
|||
public:
|
||||
does_not_exist: "Uzanto %{username} ne ekzistas!"
|
||||
update:
|
||||
color_theme_changed: "La kolora etoso estas sukcese ŝanĝita"
|
||||
email_notifications_changed: "Retpoŝtaj sciigoj ŝanĝitaj"
|
||||
follow_settings_changed: "Agordoj pri sekvado ŝanĝitaj"
|
||||
follow_settings_not_changed: "Ŝanĝo de sekvo-agordoj malsukcesis."
|
||||
|
|
|
|||
|
|
@ -424,6 +424,7 @@ es-AR:
|
|||
mentions:
|
||||
how_to_mention_a: "Escribe el signo \"@\" y comience a escribir el nombre. Un menú desplegable con opciones aparecerá para seleccionarlo más fácilmente. Sólo es posible mencionar a las personas que tienes agregadas a uno o varios aspectos."
|
||||
how_to_mention_q: "¿Cómo puedo mencionar a alguien cuando hago una publicación?"
|
||||
mention_in_comment_a: "¡Si! Desde la versión 0.7.0.0 puedes mencionar a alguien en un comentario de la misma forma que lo harías en una publicación, escribiendo \"@\" seguido de su nombre. Por favor tenga en cuenta que cuando usted comenta en una publicación que no es pública solo puede mencionar usuarios los cuales ya hayan interactuado con la publicación."
|
||||
mention_in_comment_q: "¿Puedo mencionar a alguien en un comentario?"
|
||||
see_mentions_a: "Sí, haz clic en \"@Menciones\" en la columna izquierda de tu página de inicio."
|
||||
see_mentions_q: "¿Existe alguna manera de ver las publicaciones en las cuales he sido mencionado?"
|
||||
|
|
@ -462,6 +463,7 @@ es-AR:
|
|||
ignore_user_a3: "La lista de personas que has ignorado puedes verla en los ajustes de tu cuenta, en la sección Privacidad. Para dejar de ignorar a alguien, debes quitar a esa persona de la lista en esa página."
|
||||
ignore_user_q: "¿Cómo puedo impedir que las publicaciones de una persona aparezcan en mi Entrada?"
|
||||
insert_images_a: "Haz clic en el icono pequeño con forma de cámara para insertar imágenes en una publicación. Presiona el icono de imágenes nuevamente para añadir otra foto, o selecciona varias al mismo tiempo. También puedes arrastrar y soltar una o varias imágenes desde tu computadora a ese icono. Si quieres insertar una imagen desde la web en tu publicación, haz clic en el botón de imagen en la parte superior del cuadro de publicación, lo que creará el código Markdown para vos."
|
||||
insert_images_comments_a: "Podés utilizar Markdown para ingresar una imagen desde la web a un comentario, igual que en las publicaciones. Sin embargo, no podés subir imagenes desde tu computadora directamente a los comentarios. Cargalos a un servicio de hosting para imagenes y entonces ingresarlos usando el botón de imagen encima del editor."
|
||||
insert_images_comments_q: "¿Puedo insertar imágenes en los comentarios?"
|
||||
insert_images_q: "¿Cómo puedo insertar imágenes en las publicaciones?"
|
||||
post_location_a: "Pulsa el icono de localización al lado de la cámara en el publicador (el cuadro de publicación). Ello insertará tu localización desde OpenStreetMap. Puedes editar tu localización y escoger publicar sólo el nombre de la ciudad en la que estás en lugar de tu dirección exacta."
|
||||
|
|
@ -965,6 +967,9 @@ es-AR:
|
|||
updated: "Perfil actualizado"
|
||||
public: "Público"
|
||||
registrations:
|
||||
closed:
|
||||
another_pod: "otro pod"
|
||||
closed_pod: "En este momento este pod se encuentra cerrado a nuevas registros. De igual forma, todavía puedes unirte a la red de diaspora* registrandote en %{wiki}. Ya que todos los pods están interconectados, tendrás acceso al mismo contenido."
|
||||
create:
|
||||
success: "¡Te has unido a diaspora*!"
|
||||
invalid_invite: "¡El enlace de la invitación ya no es válido!"
|
||||
|
|
@ -1199,7 +1204,7 @@ es-AR:
|
|||
new_password: "Contraseña nueva"
|
||||
private_message: "...recibís un mensaje privado?"
|
||||
protocol_handler:
|
||||
register: "Regístrate"
|
||||
register: "Regístrate web+diaspora:// controlador en este navegador"
|
||||
receive_email_notifications: "¿Recibir notificaciones por correo electrónico cuando..."
|
||||
request_export: "Solicitar los datos de mi perfil"
|
||||
request_export_photos: "Solicitar la descarga de mis fotos"
|
||||
|
|
|
|||
|
|
@ -992,6 +992,11 @@ ia:
|
|||
updated: "Profilo actualisate"
|
||||
public: "Public"
|
||||
registrations:
|
||||
closed:
|
||||
another_pod: "un altere pod"
|
||||
closed_pod: "Iste pod es actualmente claudite pro le creation de contos, ma tu pote totevia adherer al rete de diaspora* per inscriber te a %{wiki}. Post que tote le pods es interconnectite, tu potera acceder al mesme contento."
|
||||
find_pods: "Un lista de pods ubi tu pote inscriber te se trova a %{poduptime}."
|
||||
other_questions: "Si tu ha altere questiones sur le election de un pod, consulta nostre %{wiki}."
|
||||
create:
|
||||
success: "Tu ha adherite a diaspora*!"
|
||||
invalid_invite: "Le ligamine de invitation que tu ha fornite non plus es valide."
|
||||
|
|
@ -1049,9 +1054,9 @@ ia:
|
|||
connect: "Connecter"
|
||||
disconnect: "Disconnecter"
|
||||
edit_services: "Modificar servicios"
|
||||
logged_in_as: "In session como %{nickname}."
|
||||
logged_in_as: "Connectite como %{nickname}."
|
||||
no_services_available: "Il non ha servicios disponibile in iste pod."
|
||||
not_logged_in: "Nulle session aperte in iste momento."
|
||||
not_logged_in: "Non connectite."
|
||||
really_disconnect: "Disconnecter %{service}?"
|
||||
services_explanation: "Le connexion a altere servicios da le possibilitate de publicar tu messages anque in illos quando tu los scribe in diaspora*."
|
||||
share_to: "Divider sur %{provider}"
|
||||
|
|
@ -1178,6 +1183,41 @@ ia:
|
|||
one: "1 persona con etiquetta %{tag}"
|
||||
other: "%{count} personas con etiquetta %{tag}"
|
||||
zero: "Nemo con etiquetta %{tag}"
|
||||
two_factor_auth:
|
||||
activated:
|
||||
change_button: "Disactivar"
|
||||
change_label: "Disactiva le authentication bifactorial per entrar tu contrasigno"
|
||||
status: "Authentication bifactorial activate"
|
||||
confirm:
|
||||
activate_button: "Confirmar e activar"
|
||||
input_explanation: "Post scannar o entrar le secreto, entra le codice a sex digitos que tu vide e confirma le activation."
|
||||
input_title: "Confirmar con codice TOTP"
|
||||
manual_explanation: "Si tu non succede a scannar automaticamente le codice QR, tu pote manualmente entrar le secreto in tu application."
|
||||
manual_explanation_cont: "Nos usa \"time-based one-time passwords\" (TOTP, contrasignos temporal a uso unic) con codices a sex digitos. Si tu application te demanda un intervallo de tempore e un algorithmo, responde 30 secundas e sha1, respectivemente.<br />Le spatios es solmente pro lectura facile; per favor, entra le codice sin spatios."
|
||||
scan_explanation: "Per favor, scanna le codice QR con un application con capabilitate TOTP, como andOTP (Android), FreeOTP (iOS), SailOTP (SailfishOS)."
|
||||
scan_title: "Scannar le codice QR"
|
||||
status: "Le authentication bifactorial non es ancora activate completemente. Tu debe confirmar le activation con un codice TOTP."
|
||||
title: "Confirmar activation"
|
||||
deactivated:
|
||||
change_button: "Activar"
|
||||
change_label: "Activar authentication bifactorial"
|
||||
status: "Authentication bifactorial non activate"
|
||||
explanation: "Le authentication bifactorial es un maniera efficace de assecurar que tu es le unic persona que pote aperir session in tu conto. Quando tu aperi session, tu entrara un codice a 6 digitos accompaniante tu contrasigno pro provar tu identitate. Ma sia caute: si tu perde tu telephono e le codices de recuperation create quando tu activa iste function, le accesso a tu conto de diaspora* essera perdite pro sempre."
|
||||
flash:
|
||||
error_token: "Le codice es incorrecte o invalide"
|
||||
success_activation: "Le activation del authentication bifactorial ha succedite"
|
||||
success_deactivation: "Le disactivation del authentication bifactorial ha succedite"
|
||||
input_token:
|
||||
label: "Codice bifactorial"
|
||||
placeholder: "codice bifactorial a sex digitos"
|
||||
recovery:
|
||||
button: "Generar nove codices de recuperation"
|
||||
explanation: "Si tu jammais perde le accesso a tu telephono, tu pote usar un del codices de recuperation sequente pro reganiar le accesso a tu conto. Mantene le codices de recuperation ben secur. Per exemplo, tu pote imprimer los e guardar los con altere documentos importante."
|
||||
explanation_short: "Le codices de recuperation te permitte reganiar le accesso a tu conto si tu perde tu telephono. Nota ben que tu pote usar cata codice de recuperation solmente un vice."
|
||||
invalidation_notice: "Si tu perde tu codices de recuperation, tu pote generar alteres hic. Le ancian codices de recuperation devenira invalide."
|
||||
reminder: "Alternativemente, tu pote usar un del codices de recuperation."
|
||||
title: "Codices de recuperation"
|
||||
title: "Authentication bifactorial"
|
||||
username: "Nomine de usator"
|
||||
users:
|
||||
confirm_email:
|
||||
|
|
|
|||
|
|
@ -230,7 +230,7 @@ nb:
|
|||
aspect_list_is_visible: "Kontakter i dette aspektet er i stand til å se hverandre."
|
||||
confirm_remove_aspect: "Er du sikker på at du vil slette dette aspektet?"
|
||||
rename: "Endre navn"
|
||||
update: "Oppdatér"
|
||||
update: "Oppdater"
|
||||
updating: "Oppdaterer"
|
||||
index:
|
||||
donate: "Doner"
|
||||
|
|
@ -285,7 +285,7 @@ nb:
|
|||
success: "La oss se hva de har å si! #sihallo"
|
||||
bookmarklet:
|
||||
explanation: "Publiser til diaspora* fra hvor som helst ved å bokmerke denne lenken => %{link}"
|
||||
heading: "Diaspora Bookmarklet"
|
||||
heading: "Bookmarklet for diaspora*"
|
||||
post_something: "Publiser noe på diaspora*"
|
||||
cancel: "Avbryt"
|
||||
color_themes:
|
||||
|
|
@ -588,9 +588,11 @@ nb:
|
|||
byline: "Det sosiale nettverket der det er du som har kontrollen"
|
||||
choose_your_audience: "Velg publikum"
|
||||
choose_your_audience_info: "Med aspektene til diaspora* kan du velge akkurat hvem du vil dele noe med. Du kan være så offentlig eller privat som du ønsker. Del et morsomt bilde med hele verden eller en dyp hemmelighet med et par av dine nærmeste venner. Du har kontrollen."
|
||||
diaspora_site_link: "føderale diaspora*-nettverket"
|
||||
headline: "Velkommen til %{pod_name}"
|
||||
own_your_data: "Bestem over dataene dine"
|
||||
own_your_data_info: "Mange nettverk bruker dataene dine til å tjene penger. De analyserer hva du gjør og så bruker de denne informasjonen til å vise deg reklame. diaspora* bruker ikke dataene dine til noen annet formål enn å la deg kontakte og dele med andre."
|
||||
part_of_diaspora: "En del av det %{diaspora_site_link}"
|
||||
podmin:
|
||||
byline: "Du er i ferd med å endre Internett. La oss få deg på plass, skal vi?"
|
||||
configuration_info: "Åpne %{database_path} og %{diaspora_path} i et tekstredigeringsprogram og gå nøye gjennom dem. De er betydelig kommentert."
|
||||
|
|
@ -641,12 +643,14 @@ nb:
|
|||
public_feed: "Offentlig diaspora*-feed for %{name}"
|
||||
source_package: "Last ned kildekoden"
|
||||
statistics_link: "Statistikk for belgen"
|
||||
switch_to_standard_mode: "Bytt til standardvisning"
|
||||
switch_to_touch_optimized_mode: "Bytt til touch-optimalisert visning"
|
||||
whats_new: "Hva er nytt?"
|
||||
header:
|
||||
code: "Kode"
|
||||
logout: "logg ut"
|
||||
profile: "profil"
|
||||
settings: "innstillinger"
|
||||
profile: "Profil"
|
||||
settings: "Innstillinger"
|
||||
toggle_navigation: "Veksle navigasjon"
|
||||
likes:
|
||||
create:
|
||||
|
|
@ -920,7 +924,7 @@ nb:
|
|||
person:
|
||||
thats_you: "Det er deg!"
|
||||
profile_sidebar:
|
||||
bio: "mitt livsløp (bio)"
|
||||
bio: "Biografi"
|
||||
born: "Bursdag"
|
||||
gender: "Kjønn"
|
||||
location: "Sted"
|
||||
|
|
@ -972,7 +976,7 @@ nb:
|
|||
public: "Offentlig"
|
||||
settings: "Profilinnstillinger"
|
||||
update_profile: "Oppdater profil"
|
||||
your_bio: "Om meg"
|
||||
your_bio: "Din biografi"
|
||||
your_birthday: "Din fødselsdato"
|
||||
your_gender: "Ditt kjønn"
|
||||
your_location: "Hvor bor du?"
|
||||
|
|
|
|||
|
|
@ -996,6 +996,9 @@ oc:
|
|||
registrations:
|
||||
closed:
|
||||
another_pod: "un autre pod"
|
||||
closed_pod: "Aqueste pod es actualament pas dubèrt per las inscripcions. Pasmens, podètz jonher lo malhum diaspora* en vos marcar sus %{wiki} . Perque totes los pods son connectats entre eles, enlà auretz accès al meteis contengut."
|
||||
find_pods: "Vaquí una lista de pods ont podètz vos marcar %{poduptime}."
|
||||
other_questions: "S’avètz mai de questions tocant la causida d’un pod, gaitatz nòstre %{wiki}."
|
||||
create:
|
||||
success: "Avètz rejunt diaspora*!"
|
||||
invalid_invite: "Lo ligam de convit donat es pas mai valid !"
|
||||
|
|
@ -1190,21 +1193,32 @@ oc:
|
|||
status: "Autentificacion en dos temps activiada"
|
||||
confirm:
|
||||
activate_button: "Confirmar e activar"
|
||||
input_explanation: "Aprèp aver numerizat o picat lo secret, picatz lo còdi de sièis chifras que vesètz e confirmatz lo parametratge."
|
||||
input_title: "Confirmar amb un geton TOTP"
|
||||
manual_explanation: "Se per cas poscatz pas numerizar lo còdi QR automaticament podètz picar a la man lo secret dins vòstra aplicacion."
|
||||
manual_explanation_cont: "Utilizam TOTP (time-based one-time passwords, senhal unic basat sus l’ora) amb de getons de sièis chifras. Se per cas vòstra aplicacion vos demande un interval de temps e un algoritme picatz 30 segondas e sha1.<br /> Los espacis son per una lectura de bon legir, volgatz picar lo còdi sens eles."
|
||||
scan_explanation: "Volgatz numerizar lo còdi QR amb una aplicacion compatibla TOTP, coma andOTP (Android), FreeOTP (iOS), SailOTP (SailfishOS)."
|
||||
scan_title: "Numerizar lo còdi QR"
|
||||
status: "L’autentificacion es pas complètament activada, vos cal confirmar l’activacion amb un geton TOTP"
|
||||
title: "Confirmatz l’activacion"
|
||||
deactivated:
|
||||
change_button: "Activar"
|
||||
change_label: "Activar l’autentificacion en dos temps"
|
||||
status: "L’autentificacion en dos temps es pas activada"
|
||||
explanation: "L’autentificacion dos factors es un biais poderós de s’assegurar que sètz ben vos l’unica persona a vos connectar a vòstre compte. Al moment de vos connectar, picaretz un còdi de 6 chifras aprèp vòstre senhal per provar vòstra identitat. Siatz prudent : se perdatz vòstre mobil e los còdis de recuperacion creats a l’activacion d’aquesta foncionalitat, l’accès a vòstre compte diaspora* serà blocat per totjorn."
|
||||
flash:
|
||||
error_token: "Lo geton èra incorrècte o invalid"
|
||||
success_activation: "Autentificacion en dos temps corrèctament activada"
|
||||
success_deactivation: "Autentificacion en dos temps corrèctament desactivada"
|
||||
input_token:
|
||||
label: "Geton dos factors"
|
||||
placeholder: "geton dos factor en sièis chifras"
|
||||
recovery:
|
||||
button: "Generar de nòus còdis de recuperacion"
|
||||
explanation: "Se per cas perdatz lo mobil, podètz utilizar un dels còdis de recuperacion çai-jos per tornar obténer l’accès al compte. Gardatz los còdis de recuperacion en un lòc segur. Per exemple, podètz los imprimir e gardar amb d’autres documents importants."
|
||||
explanation_short: "Los còdis de recuperacion vos permeton de tornar obténer l’accès al compte se per cas perdatz lo mobil. Notatz que podètz pas qu’utilizar cada còdi pas qu’un còp."
|
||||
invalidation_notice: "Se perdètz los còdis de recuperacion, podètz los regenerar aquí. Los ancians còdis de recuperacion seràn pas mai valids."
|
||||
reminder: "Autrament podètz utilizar un dels còdis de recuperacion."
|
||||
title: "Còdis de recuperacion"
|
||||
title: "Autentificacion en dos temps"
|
||||
username: "Nom d'utilizaire"
|
||||
|
|
|
|||
|
|
@ -989,7 +989,7 @@ pl:
|
|||
your_birthday: "Twoje urodziny"
|
||||
your_gender: "Twoja płeć"
|
||||
your_location: "Lokalizacja"
|
||||
your_name: "Imię"
|
||||
your_name: "Nazwa"
|
||||
your_photo: "Twoje zdjęcie"
|
||||
your_tags: "Opisz siebie w pięciu słowach"
|
||||
your_tags_placeholder: "np. #filmy #kotki #podróże #nauczyciel #warszawa"
|
||||
|
|
@ -1191,6 +1191,21 @@ pl:
|
|||
one: "1 osoba otagowana %{tag}"
|
||||
other: "%{count} osób otagowanych %{tag}"
|
||||
zero: "Nikogo otagowanego %{tag}"
|
||||
two_factor_auth:
|
||||
activated:
|
||||
change_button: "Dezaktywuj"
|
||||
status: "Uwierzytelnianie dwuskładnikowe jest aktywne"
|
||||
confirm:
|
||||
activate_button: "Potwierdź i aktywuj"
|
||||
status: "Uwierzytelnianie dwuskładnikowe nie jest jeszcze w pełni aktywne, musisz je zatwierdzić tokenem TOTP"
|
||||
deactivated:
|
||||
change_button: "Aktywuj"
|
||||
change_label: "Aktywuj uwierzytelnianie dwuskładnikowe"
|
||||
status: "Uwierzytelnianie dwuskładnikowe nieaktywne"
|
||||
flash:
|
||||
success_activation: "Pomyślnie aktywowano uwierzytelnianie dwuskładnikowe"
|
||||
success_deactivation: "Pomyślnie dezaktywowano uwierzytelnianie dwuskładnikowe"
|
||||
title: "Uwierzytelnianie dwuskładnikowe"
|
||||
username: "Nazwa użytkownika"
|
||||
users:
|
||||
confirm_email:
|
||||
|
|
|
|||
|
|
@ -282,7 +282,7 @@ pt-PT:
|
|||
birthday_with_year: "%d de %B de %Y"
|
||||
fullmonth_day: "%d de %B"
|
||||
delete: "Eliminar"
|
||||
email: "Correio Eletrónico"
|
||||
email: "E-mail"
|
||||
error_messages:
|
||||
helper:
|
||||
correct_the_following_errors_and_try_again: "Corrija os seguintes erros e volte a tentar."
|
||||
|
|
|
|||
|
|
@ -482,9 +482,9 @@ sv:
|
|||
char_limit_services_q: "Vad händer med inlägg som delats genom liknande tjänster med lägre teckenbegräsning?"
|
||||
character_limit_a: "65 535 tecken. Det är 65 395 tecken fler än vad Twitter tillåter! ;-)"
|
||||
character_limit_q: "Vad är teckenbegränsning för inlägg?"
|
||||
embed_multimedia_a: "Det ska räcka med att bara klistra in länken till vad du vill bifoga i inlägget. Några av de sidor som stöds är: YouTube, Vimeo, SoundCloud och Flickr. Diaspora* använder oEmbed för den här egenskapen. Vi lägger till stöd för andra sidor hela tiden. Kom ihåg att göra enkla inlägg och bara använda fullständiga länkar, inga URL-förkortare. Inga operatorer efter länken och vänta ett slag efter att du klistrat in inlägget innan du laddar om sidan, efter att du skrivit inlägget."
|
||||
embed_multimedia_a: "Det ska räcka med att bara klistra in länken till vad du vill bifoga i inlägget. Sidor som stöds är: YouTube, Vimeo, SoundCloud och Flickr. Diaspora* använder oEmbed för den här egenskapen. Vi lägger till stöd för andra sidor hela tiden. Kom ihåg att göra enkla inlägg och bara använda fullständiga länkar, inga URL-förkortare. Inga operatorer efter länken och vänta ett slag efter att du klistrat in inlägget innan du laddar om sidan, efter att du skrivit inlägget."
|
||||
embed_multimedia_q: "Hur bäddar jag in en video, ljudspår eller annat multimediainnehåll i ett inlägg?"
|
||||
format_text_a: "Diaspora använder ett förenklat system som kallas %{markdown}. Du som skriver har knappar för att hjälpa dig formatera texten. Om du vill formatera manuallt, hittar du hela syntaxen %{here}. Fliken för att förhandsvisa, ger dig möjlighet att se meddelandet innan du delar. Glöm inte att inte kan ändra efter publikation; var därför nogrann med att förhandsgranska innan!"
|
||||
format_text_a: "Diaspora använder ett förenklat system som kallas %{markdown}. När du skriver finns knappar för att hjälpa dig formatera texten. Om du vill formatera manuallt, hittar du hela syntaxen %{here}. Fliken för att förhandsvisa, ger dig möjlighet att se meddelandet innan du delar. Glöm inte att inte kan ändra efter publikation; var därför nogrann med att förhandsgranska innan!"
|
||||
format_text_q: "Hur kan jag formatera texten i mina inlägg? (Fet stil, kursivera, etcetera.)"
|
||||
hide_posts_a: "Om du pekar muspekaren överst på ett inlägg kommer ett kryss att dyka upp till höger. Tryck på det för att dölja inlägget och avsluta notifieringarna berörande det. Du kommer fortfarande kunna se inlägget om du besöker författarens profilsida."
|
||||
hide_posts_q: "Hur döljer jag ett inlägg?"
|
||||
|
|
@ -492,7 +492,7 @@ sv:
|
|||
ignore_user_a2: "För att ignorera någon, tryck ikonen \"ignorera\" (cirkel med ett diagonalt streck) i övre högra hörnet av inlägg. Deras inlägg kommer omedelbart försvinna ur ditt flöde. Alternativt, kan du gå till deras profilsida och trycka på ignoreraknappen där. Du kan fortfarande se personens inlägg på dennes profilsida."
|
||||
ignore_user_a3: "Du hittar listan över ignorerade personer under Sekretess bland dina kontoinställningar. För att sluta ignorera någon, ta bort personen ur listan."
|
||||
ignore_user_q: "Hur tar jag bort någon från min ström?"
|
||||
insert_images_a: "Om du vill ha en bild som finns på din dator i inlägg, välj den lilla kameraikonen. Du kan också dra bilden från katalogen, eller fler bilde, från datorn till ikonen. Om du vill ha bild från en annan webbsida i inlägget, väljer du istället formateringsknappen som då skriver in Markdown-koden åt dig."
|
||||
insert_images_a: "Om du vill ha en bild som finns på din dator i ett inlägg, välj den lilla kameraikonen. Du kan också dra bilden från katalogen, eller fler bilder, från datorn till ikonen. Om du vill ha bild från en annan webbsida i inlägget, väljer du istället formateringsknappen som då skriver in Markdown-koden åt dig."
|
||||
insert_images_comments_a: "Använd Markdown för att lägga in bilder från webben i en kommentar, precis som i ett inlägg. Du kan dock inte ladda upp bilder från din dator till kommentarer. Ladda upp dem på någon bilddelningssida och lägg därefter in bilderna i kommentarer."
|
||||
insert_images_comments_q: "Kan jag lägga till bilder i kommentarer?"
|
||||
insert_images_q: "Hur lägger jag in bilder till mitt inlägg?"
|
||||
|
|
@ -502,7 +502,7 @@ sv:
|
|||
post_notification_q: "Hur gör jag för att ändra mina notifikationsinställningar för ett inlägg?"
|
||||
post_poll_a: "Tryck på grafikonen för att skapa en omröstning. Skriv in din fråga och åtminstone två alternativ. Glöm inte att göra inlägget publikt om du vill att alla ska kunna delta."
|
||||
post_poll_q: "Hur lägger jag till en omröstning till mitt inlägg?"
|
||||
post_report_a: "Tryck på varningstriangeln i inläggets övre, högra hörn för att anmäla det till din podadminstratör. Ange sedan, noggrant, varför du valt att anmäla inlägget. Var så bussig och anmäl bara inlägg som bryter mot våra %{community_guidelines} eller användarvilkoren för din pod. Det kan exempelvis vara olagligt material, eller kränkande innehåll och spam."
|
||||
post_report_a: "Tryck på varningstriangeln i inläggets övre, högra hörn för att anmäla det till din podadminstratör. Ange sedan noggrant varför du valt att anmäla inlägget. Var så bussig och anmäl bara inlägg som bryter mot våra %{community_guidelines} eller användarvilkoren för din pod. Det kan exempelvis vara olagligt material, eller kränkande innehåll och spam."
|
||||
post_report_q: "Hur meddelar jag om kränkande inlägg?"
|
||||
size_of_images_a: "Nej. Bildernas storlek justeras automatiskt för att passa strömmen."
|
||||
size_of_images_q: "Kan jag själv anpassa bildstorleken i inlägg och kommentarer?"
|
||||
|
|
@ -572,7 +572,7 @@ sv:
|
|||
tags:
|
||||
filter_tags_a: "Det är inte ännu inte möjligt att utföra i Diaspora*. Men något %{third_party_tools} kan finnas som stödjer denna funktion."
|
||||
filter_tags_q: "Hur filtrerar jag bort några av taggarna från mitt flöde?"
|
||||
followed_tags_a: "När du sökt en tagg kan du trycka på knappen överst på taggens sida för att följa taggen. Då kommer då synas till vänster med andra taggar du följer. Trycker du på någon tagg i listan hamnar du på taggens sida och kommer att se de senaste inläggen med taggen. Tryck \"#Följda taggar\" för att se ett flöde med alla taggar du följer. Inlägg med den taggen kommer dyka upp i ditt huvudflöde."
|
||||
followed_tags_a: "När du sökt en tagg kan du trycka på knappen överst på taggens sida för att följa taggen. Då kommer den synas till vänster med andra taggar du följer. Trycker du på någon tagg i listan hamnar du på taggens sida och kommer att se de senaste inläggen med taggen. Tryck \"#Följda taggar\" för att se ett flöde med alla taggar du följer. Inlägg med den taggen kommer dyka upp i ditt huvudflöde."
|
||||
followed_tags_q: "Vad är \"#Följda taggar\" och hur följer man en tagg?"
|
||||
people_tag_page_a: "Det är personer som lagt till taggen i sin beskrivning på sin publika profilsida."
|
||||
people_tag_page_q: "Vilka är personerna till vänster på taggens sida?"
|
||||
|
|
@ -1201,7 +1201,7 @@ sv:
|
|||
input_explanation: "Efter skanning eller att ha skrivit den hemliga koden, skriver du in den sexsiffriga kod du ser och bekräftar uppsättningen."
|
||||
input_title: "Bekräfta med TOTP-pollett."
|
||||
manual_explanation: "Om du inte kan skanna QR-koden automatiskt, kan du göra det manuellt i din app med den hemliga koden."
|
||||
manual_explanation_cont: "Vi använder oss av tidsbegränsade ongångslösenord (TOTP) med sex siffror långa polletter. Om din applikation frågar om ett tidintervall och algoritm, anger du 30 sekunder och sh1.<br /> Mellanrummen är bara för läsbarhetens skull; du ska inte skriva dem."
|
||||
manual_explanation_cont: "Vi använder oss av tidsbegränsade engångslösenord (TOTP) med sex siffror långa polletter. Om din applikation frågar om ett tidintervall och algoritm, anger du 30 sekunder och sh1.<br /> Mellanrummen är bara för läsbarhetens skull; du ska inte skriva dem."
|
||||
scan_explanation: "Skanna QR-koden med en TOTP-kompatibel applikation, såsom andOTP (för Android), FreeOTP (för iOS), SailOTP (för SailfishOS)."
|
||||
scan_title: "Läs in QR-kod"
|
||||
status: "Tvåfaktorautentisering har inte the fullo aktiverats än. Du behöver verifiera med en TOTP-pollett."
|
||||
|
|
@ -1220,7 +1220,7 @@ sv:
|
|||
placeholder: "Sexssiffrig tvåstegspollett"
|
||||
recovery:
|
||||
button: "Generera nya återställningskoder"
|
||||
explanation: "Om du någonsin blir av med din telefon, kan du använda en av återställningskoderna nedanför för att återfå tillgång till ditt konto. Spara koderna på en säker plats. Du kan till exompel skriva ut dem och ha dem bland dina andra viktiga lappar."
|
||||
explanation: "Om du någonsin blir av med din telefon, kan du använda en av återställningskoderna nedanför för att återfå tillgång till ditt konto. Spara koderna på en säker plats. Du kan till exompel skriva ut dem och ha dem bland dina andra viktiga dokument."
|
||||
explanation_short: "Återställningsskoder används för att återfå tillgång till ditt konto utifall att du blir av med din telefon. Du kan bara använda varje kod en enda gång."
|
||||
invalidation_notice: "Om du blir av med dina återställningskoder, kan du generera nya här. Dina tidigare koder blir då ogiltiga."
|
||||
reminder: "Alternativt kan du använda en återställningskod."
|
||||
|
|
|
|||
|
|
@ -5,11 +5,21 @@
|
|||
|
||||
|
||||
th:
|
||||
_applications: "แอปพลิเคชั่น"
|
||||
_services: "บริการ"
|
||||
account: "บัญชี"
|
||||
are_you_sure: "คุณแน่ใจแล้วใช่ไหม"
|
||||
are_you_sure_delete_account: "คุณแน่ใจแล้วใช่ไหมที่จะลบบัญชีของคุณ มันไม่สามารถกู้คืนได้นะ"
|
||||
aspects:
|
||||
index:
|
||||
donate_liberapay: "บริจาคให้ลิเบร่าเพย์"
|
||||
cancel: "ยกเลิก"
|
||||
delete: "ลบ"
|
||||
email: "อีเมล"
|
||||
limited: "จำกัดการเข้าถึง"
|
||||
ok: "ตกลง"
|
||||
privacy: "ส่วนตัว"
|
||||
profile: "โปรไฟล์"
|
||||
settings: "ตั้งค่า"
|
||||
public: "สาธารณะ"
|
||||
settings: "ตั้งค่า"
|
||||
username: "ชื่อผู้ใช้"
|
||||
|
|
@ -83,9 +83,9 @@ nb:
|
|||
success: "Ditt nye aspekt <%= name %> ble opprettet"
|
||||
name: "Navn"
|
||||
bookmarklet:
|
||||
post_something: "Post noe på Diaspora"
|
||||
post_submit: "Sender innlegg..."
|
||||
post_success: "Lukker popup vinduet..."
|
||||
post_something: "Publiser noe på diaspora*"
|
||||
post_submit: "Sender innlegg ..."
|
||||
post_success: "Publisert! Lukker popup-vinduet ..."
|
||||
cancel: "Avbryt"
|
||||
comma: ","
|
||||
comments:
|
||||
|
|
@ -134,6 +134,7 @@ nb:
|
|||
recent_notifications: "Nylige varsel"
|
||||
search: "Søk"
|
||||
settings: "Innstillinger"
|
||||
switch_to_touch_optimized_mode: "Bytt til touch-optimalisert visning"
|
||||
toggle_navigation: "Veksle navigasjon"
|
||||
view_all: "Vis alle"
|
||||
hide_post: "Gjem dette innlegget?"
|
||||
|
|
|
|||
9
db/migrate/20190703231700_fix_pending_profile_photos.rb
Normal file
9
db/migrate/20190703231700_fix_pending_profile_photos.rb
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class FixPendingProfilePhotos < ActiveRecord::Migration[5.1]
|
||||
def up
|
||||
Photo.where(pending: true).each do |photo|
|
||||
photo.update(pending: false) if Profile.where(image_url: photo.url(:thumb_large)).exists?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -7,7 +7,7 @@ Before do
|
|||
stub_request(:head, /.+/).with(
|
||||
headers: {
|
||||
"Accept" => "text/html",
|
||||
"User-Agent" => "OpenGraphReader/0.6.2 (+https://github.com/jhass/open_graph_reader)"
|
||||
"User-Agent" => "OpenGraphReader/0.7.0 (+https://github.com/jhass/open_graph_reader)"
|
||||
}
|
||||
).to_return(status: 200, body: "", headers: {"Content-Type" => "text/plain"})
|
||||
end
|
||||
|
|
|
|||
|
|
@ -35,11 +35,12 @@ module Diaspora
|
|||
|
||||
def append_and_truncate
|
||||
if options[:truncate]
|
||||
@message = message.truncate options[:truncate]-options[:append].to_s.size
|
||||
# TODO: Remove .dup when upgrading to Rails 6.x.
|
||||
@message = @message.truncate(options[:truncate] - options[:append].to_s.size).dup
|
||||
end
|
||||
|
||||
message << options[:append].to_s
|
||||
message << options[:append_after_truncate].to_s
|
||||
@message << options[:append].to_s
|
||||
@message << options[:append_after_truncate].to_s
|
||||
end
|
||||
|
||||
def escape
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ describe AdminsController, :type => :controller do
|
|||
|
||||
it "succeeds" do
|
||||
get :dashboard
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "warns the user about unreviewed reports" do
|
||||
|
|
@ -62,7 +62,7 @@ describe AdminsController, :type => :controller do
|
|||
|
||||
it 'succeeds and renders user_search' do
|
||||
get :user_search
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(response).to render_template(:user_search)
|
||||
end
|
||||
|
||||
|
|
@ -139,7 +139,7 @@ describe AdminsController, :type => :controller do
|
|||
|
||||
it "succeeds and renders stats" do
|
||||
get :stats
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(response).to render_template(:stats)
|
||||
expect(response.body).to include(
|
||||
I18n.translate(
|
||||
|
|
@ -151,7 +151,7 @@ describe AdminsController, :type => :controller do
|
|||
it "succeeds and renders stats for different ranges" do
|
||||
%w(week 2weeks month).each do |range|
|
||||
get :stats, params: {range: range}
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(response).to render_template(:stats)
|
||||
expect(response.body).not_to include(
|
||||
I18n.translate(
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ describe AspectMembershipsController, type: :controller do
|
|||
|
||||
it "succeeds" do
|
||||
post :create, params: {person_id: bob.person.id, aspect_id: @aspect1.id}, format: :json
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "creates an aspect membership" do
|
||||
|
|
@ -75,14 +75,14 @@ describe AspectMembershipsController, type: :controller do
|
|||
it "removes contacts from an aspect" do
|
||||
membership = alice.add_contact_to_aspect(@contact, @aspect1)
|
||||
delete :destroy, params: {id: membership.id}, format: :json
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
@aspect1.reload
|
||||
expect(@aspect1.contacts.to_a).not_to include @contact
|
||||
end
|
||||
|
||||
it "aspect membership does not exist" do
|
||||
delete :destroy, params: {id: 123}, format: :json
|
||||
expect(response).not_to be_success
|
||||
expect(response).not_to be_successful
|
||||
expect(response.body).to eq(I18n.t("aspect_memberships.destroy.no_membership"))
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ describe CommentsController, :type => :controller do
|
|||
|
||||
it 'responds to format mobile' do
|
||||
post :create, params: comment_hash, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -136,7 +136,7 @@ describe CommentsController, :type => :controller do
|
|||
|
||||
it 'works for mobile' do
|
||||
get :index, params: {post_id: @message.id}, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'returns all the comments for a post' do
|
||||
|
|
|
|||
|
|
@ -14,14 +14,14 @@ describe ContactsController, :type => :controller do
|
|||
context 'format mobile' do
|
||||
it "succeeds" do
|
||||
get :index, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
end
|
||||
|
||||
context 'format html' do
|
||||
it "succeeds" do
|
||||
get :index
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "doesn't assign contacts" do
|
||||
|
|
@ -43,7 +43,7 @@ describe ContactsController, :type => :controller do
|
|||
|
||||
it "succeeds" do
|
||||
get :index, params: {q: @person1.first_name}, format: :json
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "responds with json" do
|
||||
|
|
@ -133,7 +133,7 @@ describe ContactsController, :type => :controller do
|
|||
describe '#spotlight' do
|
||||
it 'succeeds' do
|
||||
get :spotlight
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'gets queries for users in the app config' do
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ describe ConversationsController, :type => :controller do
|
|||
context "desktop" do
|
||||
it "succeeds" do
|
||||
get :new, params: {modal: true}
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -76,13 +76,13 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "succeeds" do
|
||||
get :index
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(assigns[:visibilities]).to match_array(@visibilities)
|
||||
end
|
||||
|
||||
it "succeeds with json" do
|
||||
get :index, format: :json
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
json = JSON.parse(response.body)
|
||||
expect(json.first["conversation"]).to be_present
|
||||
end
|
||||
|
|
@ -94,7 +94,7 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "retrieves a conversation" do
|
||||
get :index, params: {conversation_id: @conversations.first.id}
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(assigns[:visibilities]).to match_array(@visibilities)
|
||||
expect(assigns[:conversation]).to eq(@conversations.first)
|
||||
end
|
||||
|
|
@ -108,7 +108,7 @@ describe ConversationsController, :type => :controller do
|
|||
it "retrieves a conversation message with out markdown content " do
|
||||
get :index
|
||||
@conversation = @conversations.first
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(response.body).to match(/cool stuff/)
|
||||
expect(response.body).not_to match(%r{<strong>cool stuff</strong>})
|
||||
end
|
||||
|
|
@ -134,7 +134,7 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "responds with the conversation id as JSON" do
|
||||
post :create, params: params, format: :js
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(JSON.parse(response.body)["id"]).to eq(Conversation.first.id)
|
||||
end
|
||||
|
||||
|
|
@ -172,7 +172,7 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "responds with the conversation id as JSON" do
|
||||
post :create, params: params, format: :js
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(JSON.parse(response.body)["id"]).to eq(Conversation.first.id)
|
||||
end
|
||||
end
|
||||
|
|
@ -195,7 +195,7 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "responds with an error message" do
|
||||
post :create, params: params, format: :js
|
||||
expect(response).not_to be_success
|
||||
expect(response).not_to be_successful
|
||||
expect(response.body).to eq(I18n.t("conversations.create.fail"))
|
||||
end
|
||||
end
|
||||
|
|
@ -218,7 +218,7 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "responds with an error message" do
|
||||
post :create, params: params, format: :js
|
||||
expect(response).not_to be_success
|
||||
expect(response).not_to be_successful
|
||||
expect(response.body).to eq(I18n.t("javascripts.conversation.create.no_recipient"))
|
||||
end
|
||||
end
|
||||
|
|
@ -241,7 +241,7 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "responds with an error message" do
|
||||
post :create, params: params, format: :js
|
||||
expect(response).not_to be_success
|
||||
expect(response).not_to be_successful
|
||||
expect(response.body).to eq(I18n.t("javascripts.conversation.create.no_recipient"))
|
||||
end
|
||||
end
|
||||
|
|
@ -272,7 +272,7 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "responds with an error message" do
|
||||
post :create, params: params, format: :js
|
||||
expect(response).not_to be_success
|
||||
expect(response).not_to be_successful
|
||||
expect(response.body).to eq(I18n.t("javascripts.conversation.create.no_recipient"))
|
||||
end
|
||||
end
|
||||
|
|
@ -301,7 +301,7 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "responds with the conversation id as JSON" do
|
||||
post :create, params: params, format: :js
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(JSON.parse(response.body)["id"]).to eq(Conversation.first.id)
|
||||
end
|
||||
|
||||
|
|
@ -339,7 +339,7 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "responds with the conversation id as JSON" do
|
||||
post :create, params: params, format: :js
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(JSON.parse(response.body)["id"]).to eq(Conversation.first.id)
|
||||
end
|
||||
end
|
||||
|
|
@ -362,7 +362,7 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "responds with an error message" do
|
||||
post :create, params: params, format: :js
|
||||
expect(response).not_to be_success
|
||||
expect(response).not_to be_successful
|
||||
expect(response.body).to eq(I18n.t("conversations.create.fail"))
|
||||
end
|
||||
end
|
||||
|
|
@ -385,7 +385,7 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "responds with an error message" do
|
||||
post :create, params: params, format: :js
|
||||
expect(response).not_to be_success
|
||||
expect(response).not_to be_successful
|
||||
expect(response.body).to eq(I18n.t("javascripts.conversation.create.no_recipient"))
|
||||
end
|
||||
end
|
||||
|
|
@ -408,7 +408,7 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "responds with an error message" do
|
||||
post :create, params: params, format: :js
|
||||
expect(response).not_to be_success
|
||||
expect(response).not_to be_successful
|
||||
expect(response.body).to eq(I18n.t("javascripts.conversation.create.no_recipient"))
|
||||
end
|
||||
end
|
||||
|
|
@ -433,7 +433,7 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "responds with an error message" do
|
||||
post :create, params: params, format: :js
|
||||
expect(response).not_to be_success
|
||||
expect(response).not_to be_successful
|
||||
expect(response.body).to eq(I18n.t("javascripts.conversation.create.no_recipient"))
|
||||
end
|
||||
end
|
||||
|
|
@ -452,7 +452,7 @@ describe ConversationsController, :type => :controller do
|
|||
|
||||
it "succeeds with json" do
|
||||
get :show, params: {id: conversation.id}, format: :json
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(assigns[:conversation]).to eq(conversation)
|
||||
expect(response.body).to include conversation.guid
|
||||
end
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ describe HelpController, type: :controller do
|
|||
describe "#faq" do
|
||||
it "succeeds" do
|
||||
get :faq
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "fails on mobile" do
|
||||
|
|
|
|||
|
|
@ -33,12 +33,12 @@ describe HomeController, type: :controller do
|
|||
describe "#podmin" do
|
||||
it "succeeds" do
|
||||
get :podmin
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "succeeds on mobile" do
|
||||
get :podmin, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ TXT
|
|||
|
||||
Timecop.travel(time) do
|
||||
get :multi, :format => :json
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
save_fixture(response.body, "stream_json")
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ describe NodeInfoController do
|
|||
it "responds to JSON" do
|
||||
get :jrd, format: :json
|
||||
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "returns a JRD" do
|
||||
|
|
@ -38,7 +38,7 @@ describe NodeInfoController do
|
|||
it "responds to JSON" do
|
||||
get :document, params: {version: version}, format: :json
|
||||
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "calls NodeInfoPresenter" do
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ describe NotificationsController, :type => :controller do
|
|||
end
|
||||
|
||||
get :update, params: {id: note.id, set_unread: "true"}, format: :json
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
|
||||
updated_note = Notification.find(note.id)
|
||||
expect(updated_note.unread).to eq(true)
|
||||
|
|
@ -64,7 +64,7 @@ describe NotificationsController, :type => :controller do
|
|||
|
||||
it 'succeeds' do
|
||||
get :index
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(assigns[:notifications].count).to eq(1)
|
||||
end
|
||||
|
||||
|
|
@ -73,7 +73,7 @@ describe NotificationsController, :type => :controller do
|
|||
@notification.touch
|
||||
end
|
||||
get :index, format: :json
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
response_json = JSON.parse(response.body)
|
||||
note_html = Nokogiri::HTML(response_json["notification_list"][0]["also_commented"]["note_html"])
|
||||
timeago_content = note_html.css("time")[0]["data-time-ago"]
|
||||
|
|
@ -94,7 +94,7 @@ describe NotificationsController, :type => :controller do
|
|||
|
||||
it 'succeeds on mobile' do
|
||||
get :index, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'paginates the notifications' do
|
||||
|
|
@ -128,7 +128,7 @@ describe NotificationsController, :type => :controller do
|
|||
it 'succeeds on mobile' do
|
||||
eve.share_with(alice.person, eve.aspects.first)
|
||||
get :index, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -157,12 +157,12 @@ describe NotificationsController, :type => :controller do
|
|||
|
||||
it "succeeds" do
|
||||
get :index
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "succeeds on mobile" do
|
||||
get :index, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ describe PeopleController, :type => :controller do
|
|||
describe 'via json' do
|
||||
it 'succeeds' do
|
||||
get :index, params: {q: "Korth"}, format: :json
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'responds with json' do
|
||||
|
|
@ -109,23 +109,23 @@ describe PeopleController, :type => :controller do
|
|||
it "succeeds if there is exactly one match" do
|
||||
get :index, params: {q: "Korth"}
|
||||
expect(assigns[:people].length).to eq(1)
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "succeeds if there are no matches" do
|
||||
get :index, params: {q: "Korthsauce"}
|
||||
expect(assigns[:people].length).to eq(0)
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'succeeds if you search for the empty term' do
|
||||
get :index, params: {q: ""}
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'succeeds if you search for punctuation' do
|
||||
get :index, params: {q: "+"}
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "excludes people who have searchable off" do
|
||||
|
|
@ -225,7 +225,7 @@ describe PeopleController, :type => :controller do
|
|||
profile = user2.profile
|
||||
profile.update_attribute(:first_name, "</script><script> alert('xss attack');</script>")
|
||||
get :show, params: {id: user2.person.to_param}
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(response.body).not_to include(profile.first_name)
|
||||
end
|
||||
|
||||
|
|
@ -244,12 +244,12 @@ describe PeopleController, :type => :controller do
|
|||
context "when the person is the current user" do
|
||||
it "succeeds" do
|
||||
get :show, params: {id: @user.person.to_param}
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'succeeds on the mobile site' do
|
||||
get :show, params: {id: @user.person.to_param}, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "assigns the right person" do
|
||||
|
|
@ -271,7 +271,7 @@ describe PeopleController, :type => :controller do
|
|||
|
||||
it 'succeeds on the mobile site' do
|
||||
get :show, params: {id: @person.to_param}, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'forces to sign in if the person is remote' do
|
||||
|
|
@ -316,12 +316,12 @@ describe PeopleController, :type => :controller do
|
|||
|
||||
it "succeeds" do
|
||||
get :show, params: {id: @person.to_param}
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'succeeds on the mobile site' do
|
||||
get :show, params: {id: @person.to_param}, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'marks a corresponding notifications as read' do
|
||||
|
|
@ -351,12 +351,12 @@ describe PeopleController, :type => :controller do
|
|||
|
||||
it "succeeds" do
|
||||
get :show, params: {id: @person.to_param}
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'succeeds on the mobile site' do
|
||||
get :show, params: {id: @person.to_param}, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "leaks no private profile info" do
|
||||
|
|
@ -406,7 +406,7 @@ describe PeopleController, :type => :controller do
|
|||
message = @user.post :status_message, :text => 'test more', :to => @aspect.id
|
||||
@user.comment!(message, cmmt)
|
||||
get :stream, params: {person_id: @user.person.to_param}, format: :json
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(response.body).to include(cmmt)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ describe PhotosController, :type => :controller do
|
|||
describe '#create' do
|
||||
before do
|
||||
allow(@controller).to receive(:file_handler).and_return(uploaded_photo)
|
||||
@params = {:photo => {:user_file => uploaded_photo, :aspect_ids => "all"} }
|
||||
@params = {photo: {user_file: uploaded_photo, aspect_ids: "all", pending: true}}
|
||||
end
|
||||
|
||||
it "creates a photo" do
|
||||
|
|
@ -67,11 +67,13 @@ describe PhotosController, :type => :controller do
|
|||
expect(Photo.last.author).to eq(alice.person)
|
||||
end
|
||||
|
||||
it 'can set the photo as the profile photo' do
|
||||
it "can set the photo as the profile photo and unpends the photo" do
|
||||
old_url = alice.person.profile.image_url
|
||||
@params[:photo][:set_profile_photo] = true
|
||||
post :create, params: @params
|
||||
expect(alice.reload.person.profile.image_url).not_to eq(old_url)
|
||||
new_url = alice.reload.person.profile.image_url
|
||||
expect(new_url).not_to eq(old_url)
|
||||
expect(Photo.find_by(remote_photo_name: new_url.rpartition("_").last).pending).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -79,17 +81,17 @@ describe PhotosController, :type => :controller do
|
|||
it "succeeds without any available pictures" do
|
||||
get :index, params: {person_id: FactoryGirl.create(:person).guid}
|
||||
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "succeeds on mobile devices without any available pictures" do
|
||||
get :index, params: {person_id: FactoryGirl.create(:person).guid}, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "succeeds on mobile devices with available pictures" do
|
||||
get :index, params: {person_id: bob.person.guid}, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "displays the logged in user's pictures" do
|
||||
|
|
@ -143,7 +145,7 @@ describe PhotosController, :type => :controller do
|
|||
|
||||
it "succeeds on the mobile site" do
|
||||
get :index, params: {person_id: @person.to_param}, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "forces to sign in if the person is remote" do
|
||||
|
|
@ -225,7 +227,7 @@ describe PhotosController, :type => :controller do
|
|||
|
||||
it 'should return 200 for existing stuff on mobile devices' do
|
||||
get :show, params: {person_id: alice.person.guid, id: @alices_photo.id}, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "doesn't leak private photos to the public" do
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ describe PostsController, type: :controller do
|
|||
expect_any_instance_of(PostService).to receive(:mark_user_notifications).with(post.id)
|
||||
|
||||
get :show, params: {id: post.id}
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "succeeds after removing a mention when closing the mentioned user's account" do
|
||||
|
|
@ -32,7 +32,7 @@ describe PostsController, type: :controller do
|
|||
user.close_account!
|
||||
|
||||
get :show, params: {id: msg.id}
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "renders the application layout on mobile" do
|
||||
|
|
@ -45,7 +45,7 @@ describe PostsController, type: :controller do
|
|||
expect_any_instance_of(PostService).to receive(:mark_user_notifications).with(reshare_id)
|
||||
|
||||
get :show, params: {id: reshare_id}, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ describe ProfilesController, :type => :controller do
|
|||
describe '#edit' do
|
||||
it 'succeeds' do
|
||||
get :edit
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'sets the profile to the current users profile' do
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ describe ResharesController, :type => :controller do
|
|||
|
||||
it 'requires authentication' do
|
||||
post_request!
|
||||
expect(response).not_to be_success
|
||||
expect(response).not_to be_successful
|
||||
end
|
||||
|
||||
context 'with an authenticated user' do
|
||||
|
|
@ -23,7 +23,7 @@ describe ResharesController, :type => :controller do
|
|||
end
|
||||
|
||||
it 'succeeds' do
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
post_request!
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ describe ShareVisibilitiesController, :type => :controller do
|
|||
|
||||
it 'succeeds' do
|
||||
put :update, params: {id: 42, post_id: @status.id}, format: :js
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'it calls toggle_hidden_shareable' do
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ describe StatusMessagesController, :type => :controller do
|
|||
describe '#bookmarklet' do
|
||||
it 'succeeds' do
|
||||
get :bookmarklet
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'contains a complete html document' do
|
||||
|
|
@ -34,14 +34,14 @@ describe StatusMessagesController, :type => :controller do
|
|||
title: "Surprised Kitty",
|
||||
notes: "cute kitty"
|
||||
}
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
end
|
||||
|
||||
describe '#new' do
|
||||
it 'succeeds' do
|
||||
get :new, params: {person_id: bob.person.id}
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'should redirect on desktop version' do
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@ describe StreamsController, :type => :controller do
|
|||
describe "#public" do
|
||||
it "succeeds" do
|
||||
get :public
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
end
|
||||
|
||||
describe "#multi" do
|
||||
it "succeeds" do
|
||||
get :multi
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "succeeds on mobile" do
|
||||
get :multi, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
context "getting started" do
|
||||
|
|
@ -54,7 +54,7 @@ describe StreamsController, :type => :controller do
|
|||
describe "a GET to #{stream_path}" do
|
||||
it "assigns a stream of the proper class" do
|
||||
get stream_path
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
expect(assigns[:stream]).to be_a stream_class
|
||||
end
|
||||
end
|
||||
|
|
@ -65,12 +65,12 @@ describe StreamsController, :type => :controller do
|
|||
describe "#public" do
|
||||
it "succeeds" do
|
||||
get :public
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "succeeds on mobile" do
|
||||
get :public, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ describe TagsController, :type => :controller do
|
|||
|
||||
it 'succeeds with mobile' do
|
||||
get :show, params: {name: "foo"}, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "returns the post with the correct age" do
|
||||
|
|
|
|||
|
|
@ -4,12 +4,12 @@ describe TermsController, type: :controller do
|
|||
describe "#index" do
|
||||
it "succeeds" do
|
||||
get :index
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "succeeds on mobile" do
|
||||
get :index, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -327,12 +327,12 @@ describe UsersController, :type => :controller do
|
|||
describe 'getting_started' do
|
||||
it 'does not fail miserably' do
|
||||
get :getting_started
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it 'does not fail miserably on mobile' do
|
||||
get :getting_started, format: :mobile
|
||||
expect(response).to be_success
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
context "with inviter" do
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ describe OpenGraphCache, type: :model do
|
|||
stub_request(:head, "http:///wetter.com")
|
||||
.with(headers: {
|
||||
"Accept" => "text/html",
|
||||
"User-Agent" => "OpenGraphReader/0.6.2 (+https://github.com/jhass/open_graph_reader)"
|
||||
"User-Agent" => "OpenGraphReader/0.7.0 (+https://github.com/jhass/open_graph_reader)"
|
||||
})
|
||||
.to_return(status: 200, body: "", headers:
|
||||
{"Set-Cookie" => "Dabgroup=A;path=/;Expires=Thu, 23 May 2019 16:12:01 GMT;httpOnly"})
|
||||
|
|
|
|||
31
spec/workers/cleanup_pending_photos_spec.rb
Normal file
31
spec/workers/cleanup_pending_photos_spec.rb
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
describe Workers::CleanupPendingPhotos do
|
||||
let!(:photo) { FactoryGirl.create(:photo, author: alice.person, pending: true) }
|
||||
|
||||
it "removes pending photos" do
|
||||
Timecop.travel(25.hours) do
|
||||
Workers::CleanupPendingPhotos.new.perform
|
||||
expect(Photo).not_to exist(photo.id)
|
||||
end
|
||||
end
|
||||
|
||||
it "does not remove pending photos newer than one day" do
|
||||
Timecop.travel(1.hour) do
|
||||
Workers::CleanupPendingPhotos.new.perform
|
||||
expect(Photo).to exist(photo.id)
|
||||
end
|
||||
end
|
||||
|
||||
it "does not remove posted photos" do
|
||||
StatusMessageCreationService.new(alice).create(
|
||||
status_message: {text: "Post with photo"},
|
||||
public: true,
|
||||
photos: [photo.id]
|
||||
)
|
||||
Timecop.travel(25.hours) do
|
||||
Workers::CleanupPendingPhotos.new.perform
|
||||
expect(Photo).to exist(photo.id)
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Reference in a new issue