diff --git a/.codeclimate.yml b/.codeclimate.yml
new file mode 100644
index 000000000..4773cc576
--- /dev/null
+++ b/.codeclimate.yml
@@ -0,0 +1,36 @@
+---
+engines:
+ brakeman:
+ enabled: true
+ bundler-audit:
+ enabled: true
+ csslint:
+ enabled: true
+ duplication:
+ enabled: true
+ config:
+ languages:
+ - ruby
+ - javascript
+ eslint:
+ enabled: true
+ channel: "eslint-2"
+ fixme:
+ enabled: true
+ rubocop:
+ enabled: true
+ratings:
+ paths:
+ - Gemfile.lock
+ - "**.erb"
+ - "**.haml"
+ - "**.rb"
+ - "**.css"
+ - "**.js"
+exclude_paths:
+- config/
+- db/
+- features/
+- script/
+- spec/
+- vendor/
diff --git a/.eslintrc b/.eslintrc
new file mode 100644
index 000000000..62ba89fda
--- /dev/null
+++ b/.eslintrc
@@ -0,0 +1,258 @@
+{
+ "env": {
+ "browser": true,
+ "jasmine": true,
+ "jquery": true
+ },
+
+ "globals": {
+ "_": false,
+ "autosize": false,
+ "Backbone": false,
+ "Bloodhound": false,
+ "gon": false,
+ "Handlebars": false,
+ "HandlebarsTemplates": false,
+ "ImagePaths": false,
+ "jsxc": false,
+ "L": false,
+ "Routes": false,
+ "OSM": false,
+ "qq": false,
+ "blueimp": false,
+
+ "loginAs": true,
+ "logout": true,
+ "spec": true,
+ "context": true,
+ "factory": true,
+ "stubView": true,
+
+ "app": true,
+ "Diaspora": true,
+ "Keycodes": true,
+ "PosixBracketExpressions": true
+ },
+
+ "rules": {
+ "accessor-pairs": 0,
+ "array-bracket-spacing": [2, "never"],
+ "array-callback-return": 0,
+ "arrow-body-style": 0,
+ "arrow-parens": 0,
+ "arrow-spacing": 0,
+ "block-scoped-var": 0,
+ "block-spacing": [2, "always"],
+ "brace-style": [2, "1tbs", {"allowSingleLine": true}],
+ "callback-return": 0,
+ "camelcase": 2,
+ "comma-dangle": [2, "never"],
+ "comma-spacing": [2, {"before": false, "after": true}],
+ "comma-style": [2, "last"],
+ "complexity": [1, {"max": 20}],
+ "computed-property-spacing": [2, "never"],
+ "consistent-return": 2,
+ "consistent-this": 0,
+ "constructor-super": 0,
+ "curly": [2, "all"],
+ "default-case": 0,
+ "dot-location": [2, "property"],
+ "dot-notation": 2,
+ "eol-last": 2,
+ "eqeqeq": [2, "allow-null"],
+ "func-names": 0,
+ "func-style": 0,
+ "generator-star-spacing": 0,
+ "global-require": 0,
+ "guard-for-in": 1,
+ "handle-callback-err": 0,
+ "id-blacklist": 0,
+ "id-length": 0,
+ "id-match": 0,
+ "indent": [2, 2, {"SwitchCase": 1, "VariableDeclarator": {"var": 2, "let": 2, "const": 3}}],
+ "init-declarations": 0,
+ "jsx-quotes": 0,
+ "key-spacing": [2, {"beforeColon": false, "afterColon": true}],
+ "keyword-spacing": 2,
+ "linebreak-style": 0,
+ "lines-around-comment": 0,
+ "max-depth": 0,
+ "max-len": [1, {"code": 120, "ignoreUrls": true}],
+ "max-lines": 0,
+ "max-nested-callbacks": 0,
+ "max-params": 0,
+ "max-statements": 0,
+ "max-statements-per-line": 0,
+ "new-cap": [2, {"capIsNew": false}],
+ "new-parens": 2,
+ "newline-after-var": 0,
+ "newline-before-return": 0,
+ "newline-per-chained-call": 0,
+ "no-alert": 0,
+ "no-array-constructor": 2,
+ "no-bitwise": 0,
+ "no-caller": 2,
+ "no-case-declarations": 2,
+ "no-catch-shadow": 0,
+ "no-class-assign": 2,
+ "no-cond-assign": 2,
+ "no-confusing-arrow": 2,
+ "no-console": 2,
+ "no-const-assign": 2,
+ "no-constant-condition": 2,
+ "no-continue": 0,
+ "no-control-regex": 2,
+ "no-debugger": 2,
+ "no-delete-var": 2,
+ "no-div-regex": 0,
+ "no-dupe-args": 2,
+ "no-dupe-class-members": 2,
+ "no-dupe-keys": 2,
+ "no-duplicate-case": 2,
+ "no-duplicate-imports": 0,
+ "no-else-return": 2,
+ "no-empty": 2,
+ "no-empty-character-class": 2,
+ "no-empty-function": 1,
+ "no-empty-pattern": 2,
+ "no-eq-null": 0,
+ "no-eval": 2,
+ "no-ex-assign": 2,
+ "no-extend-native": 2,
+ "no-extra-bind": 2,
+ "no-extra-boolean-cast": 2,
+ "no-extra-label": 0,
+ "no-extra-parens": 0,
+ "no-extra-semi": 2,
+ "no-fallthrough": 2,
+ "no-floating-decimal": 0,
+ "no-func-assign": 2,
+ "no-implicit-coercion": 0,
+ "no-implicit-globals": 0,
+ "no-implied-eval": 0,
+ "no-inline-comments": 0,
+ "no-inner-declarations": 2,
+ "no-invalid-regexp": 2,
+ "no-invalid-this": 0,
+ "no-irregular-whitespace": 2,
+ "no-iterator": 0,
+ "no-label-var": 0,
+ "no-labels": 0,
+ "no-lone-blocks": 0,
+ "no-lonely-if": 2,
+ "no-loop-func": 2,
+ "no-magic-numbers": 0,
+ "no-mixed-operators": 0,
+ "no-mixed-requires": 0,
+ "no-mixed-spaces-and-tabs": 2,
+ "no-multi-spaces": 1,
+ "no-multi-str": 0,
+ "no-multiple-empty-lines": [1, {"max": 1}],
+ "no-native-reassign": 2,
+ "no-negated-condition": 0,
+ "no-negated-in-lhs": 2,
+ "no-nested-ternary": 0,
+ "no-new": 0,
+ "no-new-func": 0,
+ "no-new-object": 0,
+ "no-new-require": 0,
+ "no-new-symbol": 0,
+ "no-new-wrappers": 0,
+ "no-obj-calls": 2,
+ "no-octal": 2,
+ "no-octal-escape": 0,
+ "no-param-reassign": 0,
+ "no-path-concat": 0,
+ "no-plusplus": 0,
+ "no-process-env": 0,
+ "no-process-exit": 0,
+ "no-proto": 2,
+ "no-prototype-builtins": 0,
+ "no-redeclare": 2,
+ "no-regex-spaces": 2,
+ "no-restricted-globals": 0,
+ "no-restricted-imports": 0,
+ "no-restricted-modules": 0,
+ "no-restricted-syntax": 0,
+ "no-return-assign": 2,
+ "no-script-url": 0,
+ "no-self-assign": 2,
+ "no-self-compare": 2,
+ "no-sequences": 2,
+ "no-shadow": 1,
+ "no-shadow-restricted-names": 2,
+ "no-spaced-func": 1,
+ "no-sparse-arrays": 2,
+ "no-sync": 0,
+ "no-ternary": 0,
+ "no-this-before-super": 2,
+ "no-throw-literal": 2,
+ "no-trailing-spaces": 2,
+ "no-undef": 2,
+ "no-undef-init": 0,
+ "no-undefined": 0,
+ "no-underscore-dangle": 0,
+ "no-unexpected-multiline": 2,
+ "no-unmodified-loop-condition": 1,
+ "no-unneeded-ternary": 1,
+ "no-unreachable": 2,
+ "no-unsafe-finally": 1,
+ "no-unused-expressions": 0,
+ "no-unused-labels": 2,
+ "no-unused-vars": 2,
+ "no-use-before-define": [2, {"functions": false, "classes": true}],
+ "no-useless-call": 1,
+ "no-useless-computed-key": 0,
+ "no-useless-concat": 0,
+ "no-useless-constructor": 0,
+ "no-useless-escape": 0,
+ "no-useless-rename": 0,
+ "no-var": 0,
+ "no-void": 0,
+ "no-warning-comments": 0,
+ "no-whitespace-before-property": 2,
+ "no-with": 2,
+ "object-curly-newline": 0,
+ "object-curly-spacing": [2, "never"],
+ "object-property-newline": 0,
+ "object-shorthand": 0,
+ "one-var": 0,
+ "one-var-declaration-per-line": 0,
+ "operator-assignment": 0,
+ "operator-linebreak": 0,
+ "padded-blocks": [2, "never"],
+ "prefer-arrow-callback": 0,
+ "prefer-const": 0,
+ "prefer-reflect": 0,
+ "prefer-rest-params": 0,
+ "prefer-spread": 0,
+ "prefer-template": 0,
+ "quote-props": 0,
+ "quotes": [2, "double", "avoid-escape"],
+ "radix": [2, "always"],
+ "require-jsdoc": 0,
+ "require-yield": 0,
+ "rest-spread-spacing": 0,
+ "semi": [2, "always"],
+ "semi-spacing": [2, {"before": false, "after": true}],
+ "sort-imports": 0,
+ "sort-vars": 0,
+ "space-before-blocks": [2, "always"],
+ "space-before-function-paren": [2, "never"],
+ "space-in-parens": [2, "never"],
+ "space-infix-ops": [2, {"int32Hint": true}],
+ "space-unary-ops": [2, {"words": true, "nonwords": false}],
+ "spaced-comment": [2, "always", {"markers": ["="]}],
+ "strict": 0,
+ "template-curly-spacing": 0,
+ "unicode-bom": 0,
+ "use-isnan": 2,
+ "valid-jsdoc": 0,
+ "valid-typeof": 2,
+ "vars-on-top": 0,
+ "wrap-iife": 0,
+ "wrap-regex": 0,
+ "yield-star-spacing": 0,
+ "yoda": [2, "never"]
+ }
+}
diff --git a/.gitignore b/.gitignore
index 1e6da2c17..46f688972 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,13 +1,13 @@
-# xmpp certificates, keys and user data
-config/vines/*.crt
-config/vines/*.key
+# XMPP certificates, keys and user data
+config/certs/*.crt
+config/certs/*.key
+config/prosody.cfg.lua
-#trademark sillyness
+# Trademark sillyness
app/views/home/_show.*
app/views/terms/terms.*
app/assets/images/custom/
-
# Configuration files
config/diaspora.yml
config/heroku.yml
@@ -21,8 +21,9 @@ vendor/cache/
config/database.yml
.rvmrc_custom
.rvmrc.local
+config/oidc_key.pem
-#Mailing list stuff
+# Mailing list stuff
config/email_offset
config/mailing_list.csv
@@ -42,9 +43,9 @@ public/500.html
app/assets/images/branding-*.png
app/assets/images/branding/logos-*.png
app/assets/images/icons-*.png
-app/assets/images/social_media_logos-*.png
+app/assets/images/social-media-logos-*.png
-#Documentation
+# Documentation
.yardoc/
doc/
@@ -69,15 +70,18 @@ tmp/
*.swp
*~
*#
+*.bak
+*.save
+*.autosave
nbproject
patches-*
capybara-*.html
dump.rdb
-#Rubinius's JIT
+# Rubinius's JIT
*.rbc
-#IDE
+# IDE
diaspora.iml
# Dolphin's directory's preferences files
diff --git a/.haml-lint.yml b/.haml-lint.yml
new file mode 100644
index 000000000..bf61f7f60
--- /dev/null
+++ b/.haml-lint.yml
@@ -0,0 +1,5 @@
+linters:
+ LineLength:
+ max: 120
+ SpaceInsideHashAttributes:
+ style: no_space
diff --git a/.hound.yml b/.hound.yml
deleted file mode 100644
index 9c0f49ddb..000000000
--- a/.hound.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-java_script:
- enabled: true
- config_file: config/.jshint.json
- ignore_file: config/.jshint_ignore
-ruby:
- enabled: true
- config_file: .rubocop.yml
-scss:
- enabled: false
diff --git a/.jshintignore b/.jshintignore
deleted file mode 120000
index e650afb05..000000000
--- a/.jshintignore
+++ /dev/null
@@ -1 +0,0 @@
-config/.jshint_ignore
\ No newline at end of file
diff --git a/.jshintrc b/.jshintrc
deleted file mode 120000
index 2c12c8897..000000000
--- a/.jshintrc
+++ /dev/null
@@ -1 +0,0 @@
-config/.jshint.json
\ No newline at end of file
diff --git a/.pronto.yml b/.pronto.yml
new file mode 100644
index 000000000..c5f358b4a
--- /dev/null
+++ b/.pronto.yml
@@ -0,0 +1,4 @@
+all:
+ exclude:
+ - "vendor/**/*"
+consolidate_comments: true
diff --git a/.ruby-version b/.ruby-version
index 879b416e6..bb576dbde 100644
--- a/.ruby-version
+++ b/.ruby-version
@@ -1 +1 @@
-2.1
+2.3
diff --git a/.scss-lint.yml b/.scss-lint.yml
new file mode 100644
index 000000000..1fc197bb9
--- /dev/null
+++ b/.scss-lint.yml
@@ -0,0 +1,231 @@
+scss_files: 'app/assets/stylesheets/**/*.scss'
+plugin_directories: ['.scss-linters']
+
+# List of gem names to load custom linters from (make sure they are already
+# installed)
+plugin_gems: []
+
+linters:
+ BangFormat:
+ enabled: true
+ space_before_bang: true
+ space_after_bang: false
+
+ BemDepth:
+ enabled: false
+ max_elements: 1
+
+ BorderZero:
+ enabled: true
+ convention: zero # or `none`
+
+ ColorKeyword:
+ enabled: true
+
+ ColorVariable:
+ enabled: true
+
+ Comment:
+ enabled: true
+
+ DebugStatement:
+ enabled: true
+
+ DeclarationOrder:
+ enabled: true
+
+ DisableLinterReason:
+ enabled: true
+
+ DuplicateProperty:
+ enabled: true
+
+ ElsePlacement:
+ enabled: true
+ style: same_line # or 'new_line'
+
+ EmptyLineBetweenBlocks:
+ enabled: true
+ ignore_single_line_blocks: true
+
+ EmptyRule:
+ enabled: true
+
+ ExtendDirective:
+ enabled: false
+
+ FinalNewline:
+ enabled: true
+ present: true
+
+ HexLength:
+ enabled: true
+ style: short # or 'long'
+
+ HexNotation:
+ enabled: true
+ style: lowercase # or 'uppercase'
+
+ HexValidation:
+ enabled: true
+
+ IdSelector:
+ enabled: true
+
+ ImportantRule:
+ enabled: true
+
+ ImportPath:
+ enabled: true
+ leading_underscore: false
+ filename_extension: false
+
+ Indentation:
+ enabled: true
+ allow_non_nested_indentation: false
+ character: space # or 'tab'
+ width: 2
+
+ LeadingZero:
+ enabled: true
+ style: exclude_zero # or 'include_zero'
+
+ MergeableSelector:
+ enabled: true
+ force_nesting: true
+
+ NameFormat:
+ enabled: true
+ allow_leading_underscore: true
+ convention: hyphenated_lowercase # or 'camel_case', or 'snake_case', or a regex pattern
+
+ NestingDepth:
+ enabled: true
+ max_depth: 3
+ ignore_parent_selectors: false
+
+ PlaceholderInExtend:
+ enabled: true
+
+ PropertyCount:
+ enabled: false
+ include_nested: false
+ max_properties: 10
+
+ PropertySortOrder:
+ enabled: true
+ ignore_unspecified: false
+ min_properties: 2
+ separate_groups: false
+
+ PropertySpelling:
+ enabled: true
+ extra_properties: []
+
+ PropertyUnits:
+ enabled: true
+ global: [
+ 'ch', 'em', 'ex', 'rem', # Font-relative lengths
+ 'cm', 'in', 'mm', 'pc', 'pt', 'px', 'q', # Absolute lengths
+ 'vh', 'vw', 'vmin', 'vmax', # Viewport-percentage lengths
+ 'deg', 'grad', 'rad', 'turn', # Angle
+ 'ms', 's', # Duration
+ 'Hz', 'kHz', # Frequency
+ 'dpi', 'dpcm', 'dppx', # Resolution
+ '%'] # Other
+ properties: {}
+
+ QualifyingElement:
+ enabled: true
+ allow_element_with_attribute: false
+ allow_element_with_class: false
+ allow_element_with_id: false
+
+ SelectorDepth:
+ enabled: true
+ max_depth: 3
+
+ SelectorFormat:
+ enabled: true
+ convention: hyphenated_lowercase # or 'strict_BEM', or 'hyphenated_BEM', or 'snake_case', or 'camel_case', or a regex pattern
+
+ Shorthand:
+ enabled: true
+ allowed_shorthands: [1, 2, 3]
+
+ SingleLinePerProperty:
+ enabled: true
+ allow_single_line_rule_sets: true
+
+ SingleLinePerSelector:
+ enabled: true
+
+ SpaceAfterComma:
+ enabled: true
+
+ SpaceAfterPropertyColon:
+ enabled: true
+ style: one_space # or 'no_space', or 'at_least_one_space', or 'aligned'
+
+ SpaceAfterPropertyName:
+ enabled: true
+
+ SpaceAfterVariableName:
+ enabled: true
+
+ SpaceAroundOperator:
+ enabled: true
+ style: one_space # or 'no_space'
+
+ SpaceBeforeBrace:
+ enabled: true
+ style: space # or 'new_line'
+ allow_single_line_padding: false
+
+ SpaceBetweenParens:
+ enabled: true
+ spaces: 0
+
+ StringQuotes:
+ enabled: true
+ style: single_quotes # or double_quotes
+
+ TrailingSemicolon:
+ enabled: true
+
+ TrailingWhitespace:
+ enabled: true
+
+ TrailingZero:
+ enabled: false
+
+ TransitionAll:
+ enabled: false
+
+ UnnecessaryMantissa:
+ enabled: true
+
+ UnnecessaryParentReference:
+ enabled: true
+
+ UrlFormat:
+ enabled: true
+
+ UrlQuotes:
+ enabled: true
+
+ VariableForProperty:
+ enabled: false
+ properties: []
+
+ VendorPrefix:
+ enabled: true
+ identifier_list: base
+ additional_identifiers: []
+ excluded_identifiers: []
+
+ ZeroUnit:
+ enabled: true
+
+ Compass::*:
+ enabled: false
diff --git a/.travis.yml b/.travis.yml
index 6d57bbc8c..1bcd8421a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,14 +1,14 @@
language: ruby
rvm:
+ - 2.3.1
- 2.1
- - 2.0
env:
- - DB=postgres BUILD_TYPE=other
- - DB=mysql BUILD_TYPE=other
- - DB=postgres BUILD_TYPE=cucumber
+ - DB=postgresql BUILD_TYPE=cucumber
- DB=mysql BUILD_TYPE=cucumber
+ - DB=postgresql BUILD_TYPE=other
+ - DB=mysql BUILD_TYPE=other
sudo: false
cache:
@@ -19,11 +19,17 @@ cache:
branches:
only:
- 'master'
- - 'stable'
+ - 'next-minor'
- 'develop'
-before_install: gem install bundler
-bundler_args: "--without development production heroku --jobs 3 --retry 3"
+before_install:
+ - gem install bundler
+ - mkdir travis-phantomjs
+ - wget http://cifiles.diasporafoundation.org/phantomjs-2.1.1-linux-x86_64.tar.bz2 -O $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
+ - tar -xvf $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C $PWD/travis-phantomjs
+ - export PATH=$PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH
+
+bundler_args: "--deployment --without development production --with mysql postgresql --jobs 3 --retry 3"
script: "./script/ci/build.sh"
diff --git a/Changelog.md b/Changelog.md
index a62e25875..9a162a2a4 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,208 @@
+# 0.6.0.0
+
+## Warning: This release contains long migrations
+
+This diaspora\* releases comes with a few database cleanup migrations and they could possible take a while. While you should always do that, it is especially important this time to make sure you run the migrations inside a detachable environment like `screen` or `tmux`. A interrupted SSH session could possibly harm your database. Also, please make a backup.
+
+## The DB environment variable is gone
+
+With Bundler 1.10 supporting optional groups, we removed the DB environment variable. When updating to this release, please update
+bundler and select the database support you want:
+
+```sh
+gem install bundler
+bundle install --with mysql # For MySQL and MariaDB
+bundle install --with postgresql # For PostgreSQL
+```
+
+For production setups we now additionally recommend adding the `--deployment` flag.
+If you set the DB environment variable anywhere, that's no longer necessary.
+
+## Supported Ruby versions
+
+This release recommends using Ruby 2.3, while retaining Ruby 2.1 as an officially supported version.
+Ruby 2.0 is no longer officially supported.
+
+## Configuration changes
+
+Please note that the default listen parameter for production setups got
+changed. diaspora\* will no longer listen on `0.0.0.0:3000` as it will now
+bind to an UNIX socket at `unix:tmp/diaspora.sock`. Please change your local
+`diaspora.yml` if necessary.
+
+## Redis namespace support dropped
+
+We dropped support for Redis namespaces in this release. If you previously set
+a custom namespace, please note that diaspora\* will no longer use the
+configured value. By default, Redis supports up to 8 databases which can be
+selected via the Redis URL in `diaspora.yml`. Please check the examples
+provided in our configuration example file.
+
+## Terms of Use design changes
+
+With the port to Bootstrap 3, app/views/terms/default.haml has a new structure. If you have created a customised app/views/terms/terms.haml or app/views/terms/terms.erb file, you will need to edit those files to base your customisations on the new default.haml file.
+
+## API authentication
+
+This release makes diaspora\* a OpenID Connect provider. This means you can authenticate to third parties with your diaspora\* account and let
+them act as your diaspora\* account on your behalf. This feature is still considered in early development, we still expect edge cases and advanced
+features of the specificiation to not be handled correctly or be missing. But we expect a basic OpenID Connect compliant client to work. Please submit issues!
+We will also most likely still change the authorization scopes we offer and started with a very minimal set.
+Most work still required is on documentation as well as designing and implementing the data API for all of Diaspora's functionality.
+Contributions are very welcome, the hard work is done!
+
+## Vines got replaced by Prosody
+
+Due to many issues with Vines, we decided to remove Vines and offer a Prosody
+example configuration instead. [Check the
+wiki](https://wiki.diasporafoundation.org/Integration/Chat#Vines_to_Prosody)
+for more information on how to migrate to Prosody if you've been using Vines
+before.
+
+## Sidekiq queue changes
+
+We've decreased the amount of sidekiq queues from 13 to 5 in PR [#6950](https://github.com/diaspora/diaspora/pull/6950).
+The new queues are organized according to priority for the jobs they will process. When upgrading please make sure to
+empty the sidekiq queues before shutting down the server for an update.
+
+If you run your sidekiq with a custom queue configuration, please make sure to update that for the new queues.
+
+The new queues are: `urgent, high, medium, low, default`.
+
+When you upgrade to the new version, some jobs may persist in the old queues. To move them to the default queue,
+so they're processed, run:
+
+```
+bin/rake migrations:legacy_queues
+```
+
+Note that this will retry all dead jobs, if you want to prevent that empty the dead queue first.
+
+The command will report queues that still have jobs and launch sidekiq process for that queues.
+
+## Refactor
+* Improve bookmarklet [#5904](https://github.com/diaspora/diaspora/pull/5904)
+* Update listen configuration to listen on unix sockets by default [#5974](https://github.com/diaspora/diaspora/pull/5974)
+* Port to Bootstrap 3 [#6015](https://github.com/diaspora/diaspora/pull/6015)
+* Use a fixed width for the mobile drawer [#6057](https://github.com/diaspora/diaspora/pull/6057)
+* Replace jquery.autoresize with autosize [#6104](https://github.com/diaspora/diaspora/pull/6104)
+* Improve mobile conversation design [#6087](https://github.com/diaspora/diaspora/pull/6087)
+* Replace remaining faceboxes with Bootstrap modals [#6106](https://github.com/diaspora/diaspora/pull/6106) [#6161](https://github.com/diaspora/diaspora/pull/6161)
+* Rewrite header using Bootstrap 3 [#6109](https://github.com/diaspora/diaspora/pull/6109) [#6130](https://github.com/diaspora/diaspora/pull/6130) [#6132](https://github.com/diaspora/diaspora/pull/6132)
+* Use upstream CSS mappings for Entypo [#6158](https://github.com/diaspora/diaspora/pull/6158)
+* Replace some mobile icons with Entypo [#6218](https://github.com/diaspora/diaspora/pull/6218)
+* Refactor publisher backbone view [#6228](https://github.com/diaspora/diaspora/pull/6228)
+* Replace MBP.autogrow with autosize on mobile [#6261](https://github.com/diaspora/diaspora/pull/6261)
+* Improve mobile drawer transition [#6233](https://github.com/diaspora/diaspora/pull/6233)
+* Remove unused header icons and an unused favicon [#6283](https://github.com/diaspora/diaspora/pull/6283)
+* Replace mobile icons for post interactions with Entypo icons [#6291](https://github.com/diaspora/diaspora/pull/6291)
+* Replace jquery.autocomplete with typeahead.js [#6293](https://github.com/diaspora/diaspora/pull/6293)
+* Redesign sidebars on stream pages [#6309](https://github.com/diaspora/diaspora/pull/6309)
+* Improve ignored users styling [#6349](https://github.com/diaspora/diaspora/pull/6349)
+* Use Blueimp image gallery instead of lightbox [#6301](https://github.com/diaspora/diaspora/pull/6301)
+* Unify mobile and desktop header design [#6285](https://github.com/diaspora/diaspora/pull/6285)
+* Add white background and box-shadow to stream elements [#6324](https://github.com/diaspora/diaspora/pull/6324)
+* Override Bootstrap list group design [#6345](https://github.com/diaspora/diaspora/pull/6345)
+* Clean up publisher code [#6336](https://github.com/diaspora/diaspora/pull/6336)
+* Port conversations to new design [#6431](https://github.com/diaspora/diaspora/pull/6431)
+* Hide cancel button in publisher on small screens [#6435](https://github.com/diaspora/diaspora/pull/6435)
+* Replace mobile background with color [#6415](https://github.com/diaspora/diaspora/pull/6415)
+* Port flash messages to backbone [#6395](https://github.com/diaspora/diaspora/pull/6395)
+* Change login/registration/forgot password button color [#6504](https://github.com/diaspora/diaspora/pull/6504)
+* A note regarding ignoring users was added to the failure messages on commenting/liking [#6646](https://github.com/diaspora/diaspora/pull/6646)
+* Replace sidetiq with sidekiq-cron [#6616](https://github.com/diaspora/diaspora/pull/6616)
+* Refactor mobile comment section [#6509](https://github.com/diaspora/diaspora/pull/6509)
+* Set vertical resize as default for all textareas [#6654](https://github.com/diaspora/diaspora/pull/6654)
+* Unifiy max-widths and page layouts [#6675](https://github.com/diaspora/diaspora/pull/6675)
+* Enable autosizing for all textareas [#6674](https://github.com/diaspora/diaspora/pull/6674)
+* Stream faces are gone [#6686](https://github.com/diaspora/diaspora/pull/6686)
+* Refactor mobile javascript and add tests [#6394](https://github.com/diaspora/diaspora/pull/6394)
+* Dropped `parent_author_signature` from relayables [#6586](https://github.com/diaspora/diaspora/pull/6586)
+* Attached ShareVisibilities to the User, not the Contact [#6723](https://github.com/diaspora/diaspora/pull/6723)
+* Refactor mentions input, now based on typeahead.js [#6728](https://github.com/diaspora/diaspora/pull/6728)
+* Optimized the pod up checks [#6727](https://github.com/diaspora/diaspora/pull/6727)
+* Prune and do not create aspect visibilities for public posts [#6732](https://github.com/diaspora/diaspora/pull/6732)
+* Optimized mobile login and registration forms [#6764](https://github.com/diaspora/diaspora/pull/6764)
+* Redesign stream pages [#6535](https://github.com/diaspora/diaspora/pull/6535)
+* Improve search and mentions suggestions [#6788](https://github.com/diaspora/diaspora/pull/6788)
+* Redesign back to top button [#6782](https://github.com/diaspora/diaspora/pull/6782)
+* Adjusted Facebook integration for a successful review [#6778](https://github.com/diaspora/diaspora/pull/6778)
+* Redirect to the sign-in page instead of the stream on account deletion [#6784](https://github.com/diaspora/diaspora/pull/6784)
+* Removed own unicorn killer by a maintained third-party gem [#6792](https://github.com/diaspora/diaspora/pull/6792)
+* Removed deprecated `REDISTOGO_URL` environment variable [#6863](https://github.com/diaspora/diaspora/pull/6863)
+* Use Poltergeist instead of Selenium [#6768](https://github.com/diaspora/diaspora/pull/6768)
+* Redesigned the landing page and added dedicated notes for podmins [#6268](https://github.com/diaspora/diaspora/pull/6268)
+* Moved the entire federation implementation into its own gem. 🎉 [#6873](https://github.com/diaspora/diaspora/pull/6873)
+* Remove `StatusMessage#raw_message` [#6921](https://github.com/diaspora/diaspora/pull/6921)
+* Extract photo export into a service class [#6922](https://github.com/diaspora/diaspora/pull/6922)
+* Use handlebars template for aspect membership dropdown [#6864](https://github.com/diaspora/diaspora/pull/6864)
+* Extract relayable signatures into their own tables [#6932](https://github.com/diaspora/diaspora/pull/6932)
+* Remove outdated columns from posts table [#6940](https://github.com/diaspora/diaspora/pull/6940)
+* Remove some unused routes [#6781](https://github.com/diaspora/diaspora/pull/6781)
+* Consolidate sidekiq queues [#6950](https://github.com/diaspora/diaspora/pull/6950)
+* Don't re-render the whole comment stream when adding comments [#6406](https://github.com/diaspora/diaspora/pull/6406)
+* Drop legacy invitation system [#6976](https://github.com/diaspora/diaspora/pull/6976)
+* More consistent and updated meta tags throughout [#6998](https://github.com/diaspora/diaspora/pull/6998)
+
+## Bug fixes
+* Destroy Participation when removing interactions with a post [#5852](https://github.com/diaspora/diaspora/pull/5852)
+* Improve accessibility of a couple pages [#6227](https://github.com/diaspora/diaspora/pull/6227)
+* Capitalize "Powered by diaspora" [#6254](https://github.com/diaspora/diaspora/pull/6254)
+* Display username and avatar for NSFW posts in mobile view [#6245](https://github.com/diaspora/diaspora/pull/6245)
+* Prevent multiple comment boxes on mobile [#6363](https://github.com/diaspora/diaspora/pull/6363)
+* Correctly display location in post preview [#6429](https://github.com/diaspora/diaspora/pull/6429)
+* Do not fail when submitting an empty comment in the mobile view [#6543](https://github.com/diaspora/diaspora/pull/6543)
+* Limit flash message width on small devices [#6529](https://github.com/diaspora/diaspora/pull/6529)
+* Add navbar on mobile when not logged in [#6483](https://github.com/diaspora/diaspora/pull/6483)
+* Fix timeago tooltips for reshares [#6648](https://github.com/diaspora/diaspora/pull/6648)
+* "Getting started" is now turned off after first visit on mobile [#6681](https://github.com/diaspora/diaspora/pull/6681)
+* Fixed a 500 when liking on mobile without JS enabled [#6683](https://github.com/diaspora/diaspora/pull/6683)
+* Fixed profile image upload in the mobile UI [#6684](https://github.com/diaspora/diaspora/pull/6684)
+* Fixed eye not stopping all processes when trying to exit `script/server` [#6693](https://github.com/diaspora/diaspora/pull/6693)
+* Do not change contacts count when marking notifications on the contacts page as read [#6718](https://github.com/diaspora/diaspora/pull/6718)
+* Fix typeahead for non-latin characters [#6741](https://github.com/diaspora/diaspora/pull/6741)
+* Fix upload size error on mobile [#6803](https://github.com/diaspora/diaspora/pull/6803)
+* Connection tester handles invalid NodeInfo implementations [#6890](https://github.com/diaspora/diaspora/pull/6890)
+* Do not allow to change email to an already used one [#6905](https://github.com/diaspora/diaspora/pull/6905)
+* Correctly filter mentions on the server side [#6902](https://github.com/diaspora/diaspora/pull/6902)
+* Add aspects to the aspect membership dropdown when creating them on the getting started page [#6864](https://github.com/diaspora/diaspora/pull/6864)
+* Strip markdown from message preview in conversations list [#6923](https://github.com/diaspora/diaspora/pull/6923)
+* Improve tag stream performance [#6903](https://github.com/diaspora/diaspora/pull/6903)
+* Only show mutual contacts in conversations auto suggestions [#7001](https://github.com/diaspora/diaspora/pull/7001)
+
+## Features
+* Support color themes [#6033](https://github.com/diaspora/diaspora/pull/6033)
+* Add mobile services and privacy settings pages [#6086](https://github.com/diaspora/diaspora/pull/6086)
+* Optionally make your extended profile details public [#6162](https://github.com/diaspora/diaspora/pull/6162)
+* Add admin dashboard showing latest diaspora\* version [#6216](https://github.com/diaspora/diaspora/pull/6216)
+* Display poll & location on mobile [#6238](https://github.com/diaspora/diaspora/pull/6238)
+* Update counts on contacts page dynamically [#6240](https://github.com/diaspora/diaspora/pull/6240)
+* Add support for relay based public post federation [#6207](https://github.com/diaspora/diaspora/pull/6207)
+* Bigger mobile publisher [#6261](https://github.com/diaspora/diaspora/pull/6261)
+* Backend information panel & health checks for known pods [#6290](https://github.com/diaspora/diaspora/pull/6290)
+* Allow users to view a posts locations on an OpenStreetMap [#6256](https://github.com/diaspora/diaspora/pull/6256)
+* Redesign and unify error pages [#6428](https://github.com/diaspora/diaspora/pull/6428)
+* Redesign and refactor report admin interface [#6378](https://github.com/diaspora/diaspora/pull/6378)
+* Add permalink icon to stream elements [#6457](https://github.com/diaspora/diaspora/pull/6457)
+* Move reshare count to interactions for stream elements [#6487](https://github.com/diaspora/diaspora/pull/6487)
+* Posts of ignored users are now visible on that profile page [#6617](https://github.com/diaspora/diaspora/pull/6617)
+* Add white color theme [#6631](https://github.com/diaspora/diaspora/pull/6631)
+* Add answer counts to poll [#6641](https://github.com/diaspora/diaspora/pull/6641)
+* Check for collapsible posts after images in posts have loaded [#6671](https://github.com/diaspora/diaspora/pull/6671)
+* Add reason for post report to email sent to admins [#6679](https://github.com/diaspora/diaspora/pull/6679)
+* Add links to the single post view of the related post to photos in the photo stream [#6621](https://github.com/diaspora/diaspora/pull/6621)
+* Add a note for people with disabled JavaScript [#6777](https://github.com/diaspora/diaspora/pull/6777)
+* Do not include conversation subject in notification mail [#6910](https://github.com/diaspora/diaspora/pull/6910)
+* Add 'Be excellent to each other!' to the sidebar [#6914](https://github.com/diaspora/diaspora/pull/6914)
+* Expose Sidekiq dead queue configuration options
+* Properly support pluralization in timeago strings [#6926](https://github.com/diaspora/diaspora/pull/6926)
+* Return all contacts in people search [#6951](https://github.com/diaspora/diaspora/pull/6951)
+* Make screenreaders read alerts [#6973](https://github.com/diaspora/diaspora/pull/6973)
+* Display message when there are no posts in a stream [#6974](https://github.com/diaspora/diaspora/pull/6974)
+* Add bootstrap-markdown editor to the publisher [#6551](https://github.com/diaspora/diaspora/pull/6551)
+* Don't create notifications for ignored users [#6984](https://github.com/diaspora/diaspora/pull/6984)
+* Fetch missing persons when receiving a mention for them [#6992](https://github.com/diaspora/diaspora/pull/6992)
+
# 0.5.10.2
Update to Rails 4.2.7.1 which fixes [CVE-2016-6316](https://groups.google.com/forum/#!topic/ruby-security-ann/8B2iV2tPRSE) and [CVE-2016-6317](https://groups.google.com/forum/#!topic/ruby-security-ann/WccgKSKiPZA).
@@ -193,6 +398,7 @@ and on a pod that received that data.
* Update perfect-scrollbar [#6085](https://github.com/diaspora/diaspora/pull/6085)
* Remove top margin for first heading in a post [#6110](https://github.com/diaspora/diaspora/pull/6110)
* Add link to pod statistics in right navigation [#6117](https://github.com/diaspora/diaspora/pull/6117)
+* Update to Rails 4.2.3 [#6140](https://github.com/diaspora/diaspora/pull/6140)
* Refactor person related URL generation [#6168](https://github.com/diaspora/diaspora/pull/6168)
* Move webfinger and HCard generation out of the core and embed the `diaspora_federation-rails` gem [#6151](https://github.com/diaspora/diaspora/pull/6151/)
* Refactor rspec tests to to use `let` instead of before blocks [#6199](https://github.com/diaspora/diaspora/pull/6199)
diff --git a/Gemfile b/Gemfile
index 72d68ce10..66efbfd37 100644
--- a/Gemfile
+++ b/Gemfile
@@ -9,22 +9,23 @@ gem "responders", "2.2.0"
# Appserver
gem "unicorn", "5.1.0", require: false
+gem "unicorn-worker-killer", "0.4.4"
# Federation
-gem "diaspora_federation-rails", "0.0.13"
+gem "diaspora_federation-rails", "0.1.4"
# API and JSON
-gem "acts_as_api", "0.4.2"
+gem "acts_as_api", "0.4.3"
gem "json", "1.8.3"
gem "json-schema", "2.6.2"
# Authentication
-gem "devise", "3.5.6"
+gem "devise", "4.2.0"
gem "devise_lastseenable", "0.0.6"
-gem "devise-token_authenticatable", "0.4.6"
+gem "devise-token_authenticatable", "0.5.2"
# Captcha
@@ -32,16 +33,16 @@ gem "simple_captcha2", "0.4.0", require: "simple_captcha"
# Background processing
-gem "sidekiq", "3.4.2"
+gem "sidekiq", "4.1.4"
gem "sinatra", "1.4.7"
# Scheduled processing
-gem "sidetiq", "0.6.3"
+gem "sidekiq-cron", "0.4.2"
# Compression
-gem "uglifier", "3.0.0"
+gem "uglifier", "3.0.1"
# Configuration
@@ -53,19 +54,23 @@ gem "rack-cors", "0.4.0", require: "rack/cors"
# CSS
-gem "bootstrap-sass", "2.3.2.2"
+gem "bootstrap-sass", "3.3.7"
gem "compass-rails", "2.0.5"
-gem "sass-rails", "5.0.4"
-gem "autoprefixer-rails", "6.3.6.2"
+gem "sass-rails", "5.0.6"
+gem "autoprefixer-rails", "6.4.0.2"
+gem "bootstrap-switch-rails", "3.3.3"
# Database
-ENV["DB"] ||= "mysql"
+group :mysql, optional: true do
+ gem "mysql2", "0.4.4"
+end
+group :postgresql, optional: true do
+ gem "pg", "0.18.4"
+end
-gem "mysql2", "0.4.4" if ENV["DB"] == "all" || ENV["DB"] == "mysql"
-gem "pg", "0.18.4" if ENV["DB"] == "all" || ENV["DB"] == "postgres"
-gem "activerecord-import", "0.13.0"
+gem "activerecord-import", "0.15.0"
# File uploading
@@ -79,40 +84,39 @@ gem "uuid", "2.3.8"
# Icons
-gem "entypo-rails", "2.2.3"
+gem "entypo-rails", "3.0.0.pre.rc2"
# JavaScript
gem "backbone-on-rails", "1.2.0.0"
-gem "handlebars_assets", "0.23.0"
+gem "handlebars_assets", "0.23.1"
gem "jquery-rails", "4.1.1"
gem "jquery-ui-rails", "5.0.5"
gem "js_image_paths", "0.1.0"
-gem "js-routes", "1.2.6"
+gem "js-routes", "1.2.9"
source "https://rails-assets.org" do
- gem "rails-assets-jquery", "1.12.0" # Should be kept in sync with jquery-rails
+ gem "rails-assets-jquery", "2.2.1" # Should be kept in sync with jquery-rails
- gem "rails-assets-markdown-it", "6.0.5"
+ gem "rails-assets-markdown-it", "7.0.0"
gem "rails-assets-markdown-it-hashtag", "0.4.0"
- gem "rails-assets-markdown-it-diaspora-mention", "0.4.0"
- gem "rails-assets-markdown-it-sanitizer", "0.4.1"
+ gem "rails-assets-markdown-it-diaspora-mention", "1.0.0"
+ gem "rails-assets-markdown-it-sanitizer", "0.4.2"
gem "rails-assets-markdown-it--markdown-it-for-inline", "0.1.1"
gem "rails-assets-markdown-it-sub", "1.0.0"
gem "rails-assets-markdown-it-sup", "1.0.0"
- gem "rails-assets-highlightjs", "9.4.0"
+ gem "rails-assets-highlightjs", "9.6.0"
+ gem "rails-assets-bootstrap-markdown", "2.10.0"
# jQuery plugins
- gem "rails-assets-jeresig--jquery.hotkeys", "0.2.0"
gem "rails-assets-jquery-placeholder", "2.3.1"
gem "rails-assets-jquery-textchange", "0.2.3"
- gem "rails-assets-perfect-scrollbar", "0.6.11"
- gem "rails-assets-jakobmattsson--jquery-elastic", "1.6.11"
+ gem "rails-assets-perfect-scrollbar", "0.6.12"
+ gem "rails-assets-autosize", "3.0.17"
+ gem "rails-assets-blueimp-gallery", "2.21.3"
end
-gem "facebox-rails", "0.2.0"
-
# Localization
gem "http_accept_language", "2.0.5"
@@ -122,33 +126,37 @@ gem "rails-i18n", "4.0.8"
# Mail
gem "markerb", "1.1.0"
-gem "messagebus_ruby_api", "1.0.3"
+
+# Map
+gem "leaflet-rails", "0.7.7"
# Parsing
gem "nokogiri", "1.6.8"
gem "redcarpet", "3.3.4"
-gem "twitter-text", "1.13.4"
-gem "roxml", "3.1.6"
+gem "twitter-text", "1.14.0"
gem "ruby-oembed", "0.10.1"
gem "open_graph_reader", "0.6.1"
# Services
gem "omniauth", "1.3.1"
-gem "omniauth-facebook", "3.0.0"
+gem "omniauth-facebook", "4.0.0"
gem "omniauth-tumblr", "1.2"
gem "omniauth-twitter", "1.2.1"
gem "twitter", "5.16.0"
gem "omniauth-wordpress", "0.2.2"
+# OpenID Connect
+gem "openid_connect", "0.12.0"
+
# Serializers
gem "active_model_serializers", "0.9.5"
# XMPP chat dependencies
-gem "diaspora-vines", "0.2.0.develop.4"
-gem "rails-assets-diaspora_jsxc", "0.1.4", source: "https://rails-assets.org"
+gem "diaspora-prosody-config", "0.0.5"
+gem "rails-assets-diaspora_jsxc", "0.1.5.develop.1", source: "https://rails-assets.org"
# Tags
@@ -160,12 +168,12 @@ gem "addressable", "2.3.8", require: "addressable/uri"
gem "faraday", "0.9.2"
gem "faraday_middleware", "0.10.0"
gem "faraday-cookie_jar", "0.0.6"
-gem "typhoeus", "1.0.2"
+gem "typhoeus", "1.1.0"
# Views
-gem "gon", "6.0.1"
-gem "haml", "4.0.7"
+gem "gon", "6.1.0"
+gem "hamlit", "2.5.0"
gem "mobile-fu", "1.3.1"
gem "will_paginate", "3.1.0"
gem "rails-timeago", "2.11.0"
@@ -185,6 +193,8 @@ gem "rubyzip", "1.2.0", require: "zip"
# https://github.com/discourse/discourse/pull/238
gem "minitest"
+gem "versionist", "1.5.0"
+
# Windows and OSX have an execjs compatible runtime built-in, Linux users should
# install Node.js or use "therubyracer".
#
@@ -208,7 +218,7 @@ group :production do # we don"t install these on travis to speed up test runs
# Process management
- gem "eye", "0.7"
+ gem "eye", "0.8.1"
# Redirects
@@ -223,20 +233,24 @@ end
group :development do
# Automatic test runs
gem "guard", "2.14.0", require: false
- gem "listen", "~> 3.0.0", require: false
gem "guard-cucumber", "2.1.2", require: false
- gem "guard-rspec", "4.7.2", require: false
+ gem "guard-rspec", "4.7.3", require: false
gem "guard-rubocop", "1.2.0", require: false
gem "rb-fsevent", "0.9.7", require: false
gem "rb-inotify", "0.9.7", require: false
# Linters
- gem "jshintrb", "0.3.0"
- gem "rubocop", "0.40.0"
+ gem "rubocop", "0.40.0"
+ gem "haml_lint", "0.18.1"
+ gem "pronto", "0.7.0"
+ gem "pronto-eslint", "0.7.0"
+ gem "pronto-rubocop", "0.7.0"
+ gem "pronto-haml", "0.7.0"
+ gem "pronto-scss", "0.7.0", require: false
# Preloading environment
- gem "spring", "1.7.1"
+ gem "spring", "1.7.2"
gem "spring-commands-rspec", "1.0.4"
gem "spring-commands-cucumber", "1.0.1"
@@ -245,7 +259,7 @@ group :development do
gem "pry-byebug"
# test coverage
- gem "simplecov", "0.11.2", require: false
+ gem "simplecov", "0.12.0", require: false
gem "turbo_dev_assets", "0.0.2"
end
@@ -254,14 +268,17 @@ group :test do
# RSpec (unit tests, some integration tests)
gem "fixture_builder", "0.4.1"
- gem "fuubar", "2.0.0"
- gem "test_after_commit", "1.0.0"
+ gem "fuubar", "2.1.1"
+ gem "test_after_commit", "1.1.0"
# Cucumber (integration tests)
gem "capybara", "2.7.1"
gem "database_cleaner", "1.5.3"
- gem "selenium-webdriver", "2.47.1"
+ gem "poltergeist", "1.10.0"
+
+ gem "cucumber-api-steps", "0.13", require: false
+ gem "json_spec", "1.1.4"
# General helpers
@@ -270,15 +287,18 @@ group :test do
gem "webmock", "2.1.0", require: false
gem "shoulda-matchers", "3.1.1"
- gem "diaspora_federation-test", "0.0.13"
+ gem "diaspora_federation-test", "0.1.4"
+
+ # Coverage
+ gem 'coveralls', require: false
end
group :development, :test do
# RSpec (unit tests, some integration tests)
- gem "rspec-rails", "3.4.2"
+ gem "rspec-rails", "3.5.1"
# Cucumber (integration tests)
- gem "cucumber-rails", "1.4.3", require: false
+ gem "cucumber-rails", "1.4.4", require: false
# Jasmine (client side application tests (JS))
gem "jasmine", "2.4.0"
diff --git a/Gemfile.lock b/Gemfile.lock
index 252d02825..b8906af72 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -34,8 +34,8 @@ GEM
activemodel (= 4.2.7.1)
activesupport (= 4.2.7.1)
arel (~> 6.0)
- activerecord-import (0.13.0)
- activerecord (>= 3.0)
+ activerecord-import (0.15.0)
+ activerecord (>= 3.2)
activesupport (4.2.7.1)
i18n (~> 0.7)
json (~> 1.7, >= 1.7.7)
@@ -44,7 +44,7 @@ GEM
tzinfo (~> 1.1)
acts-as-taggable-on (3.5.0)
activerecord (>= 3.2, < 5)
- acts_as_api (0.4.2)
+ acts_as_api (0.4.3)
activemodel (>= 3.0.0)
activesupport (>= 3.0.0)
rack (>= 1.1.0)
@@ -55,7 +55,8 @@ GEM
fog (>= 1.8.0)
unf
ast (2.3.0)
- autoprefixer-rails (6.3.6.2)
+ attr_required (1.0.1)
+ autoprefixer-rails (6.4.0.2)
execjs
backbone-on-rails (1.2.0.0)
eco
@@ -63,8 +64,11 @@ GEM
jquery-rails
railties
bcrypt (3.1.11)
- bootstrap-sass (2.3.2.2)
- sass (~> 3.2)
+ bindata (2.3.1)
+ bootstrap-sass (3.3.7)
+ autoprefixer-rails (>= 5.2.1)
+ sass (>= 3.3.4)
+ bootstrap-switch-rails (3.3.3)
buftok (0.2.0)
builder (3.2.2)
byebug (9.0.5)
@@ -81,18 +85,33 @@ GEM
json (>= 1.7)
mime-types (>= 1.16)
mimemagic (>= 0.3.0)
- celluloid (0.16.0)
- timers (~> 4.0.0)
- celluloid-io (0.16.2)
- celluloid (>= 0.16.0)
- nio4r (>= 1.1.0)
- childprocess (0.5.9)
- ffi (~> 1.0, >= 1.0.11)
- chunky_png (1.3.5)
+ celluloid (0.17.3)
+ celluloid-essentials
+ celluloid-extras
+ celluloid-fsm
+ celluloid-pool
+ celluloid-supervision
+ timers (>= 4.1.1)
+ celluloid-essentials (0.20.5)
+ timers (>= 4.1.1)
+ celluloid-extras (0.20.5)
+ timers (>= 4.1.1)
+ celluloid-fsm (0.20.5)
+ timers (>= 4.1.1)
+ celluloid-io (0.17.3)
+ celluloid (>= 0.17.2)
+ nio4r (>= 1.1)
+ timers (>= 4.1.1)
+ celluloid-pool (0.20.5)
+ timers (>= 4.1.1)
+ celluloid-supervision (0.20.6)
+ timers (>= 4.1.1)
+ chunky_png (1.3.6)
+ cliver (0.3.2)
coderay (1.1.1)
- coffee-rails (4.1.1)
+ coffee-rails (4.2.1)
coffee-script (>= 2.2.0)
- railties (>= 4.0.0, < 5.1.x)
+ railties (>= 4.0.0, < 5.2.x)
coffee-script (2.4.1)
coffee-script-source
execjs
@@ -113,8 +132,15 @@ GEM
compass (~> 1.0.0)
sass-rails (< 5.1)
sprockets (< 2.13)
+ concurrent-ruby (1.0.2)
configurate (0.3.1)
connection_pool (2.2.0)
+ coveralls (0.8.15)
+ json (>= 1.8, < 3)
+ simplecov (~> 0.12.0)
+ term-ansicolor (~> 1.3)
+ thor (~> 0.19.1)
+ tins (>= 1.6.0, < 2)
crack (0.4.3)
safe_yaml (~> 1.0.0)
cucumber (2.4.0)
@@ -125,50 +151,47 @@ GEM
gherkin (~> 4.0)
multi_json (>= 1.7.5, < 2.0)
multi_test (>= 0.1.2)
+ cucumber-api-steps (0.13)
+ cucumber (>= 1.2.1)
+ jsonpath (>= 0.1.2)
+ rspec (>= 2.12.0)
cucumber-core (1.5.0)
gherkin (~> 4.0)
- cucumber-rails (1.4.3)
+ cucumber-rails (1.4.4)
capybara (>= 1.1.2, < 3)
cucumber (>= 1.3.8, < 3)
mime-types (>= 1.16, < 4)
nokogiri (~> 1.5)
- railties (>= 3, < 5)
+ railties (>= 3, < 5.1)
cucumber-wire (0.0.1)
database_cleaner (1.5.3)
- devise (3.5.6)
+ devise (4.2.0)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
- railties (>= 3.2.6, < 5)
+ railties (>= 4.1.0, < 5.1)
responders
- thread_safe (~> 0.1)
warden (~> 1.2.3)
- devise-token_authenticatable (0.4.6)
- devise (>= 3.5.2, < 4.0.0)
+ devise-token_authenticatable (0.5.2)
+ devise (>= 4.0.0, < 4.3.0)
devise_lastseenable (0.0.6)
devise
rails (>= 3.0.4)
- diaspora-vines (0.2.0.develop.4)
- activerecord (~> 4.1)
- bcrypt (~> 3.1)
- em-hiredis (~> 0.3.0)
- eventmachine (~> 1.0.8)
- http_parser.rb (~> 0.6)
- nokogiri (~> 1.6)
- diaspora_federation (0.0.13)
+ diaspora-prosody-config (0.0.5)
+ diaspora_federation (0.1.4)
faraday (~> 0.9.0)
faraday_middleware (~> 0.10.0)
- nokogiri (~> 1.6, >= 1.6.7.2)
+ nokogiri (~> 1.6, >= 1.6.8)
typhoeus (~> 1.0)
valid (~> 1.0)
- diaspora_federation-rails (0.0.13)
- diaspora_federation (= 0.0.13)
+ diaspora_federation-rails (0.1.4)
+ diaspora_federation (= 0.1.4)
rails (~> 4.2)
- diaspora_federation-test (0.0.13)
- diaspora_federation (= 0.0.13)
- factory_girl (~> 4.5, >= 4.5.0)
+ diaspora_federation-test (0.1.4)
+ diaspora_federation (= 0.1.4)
+ factory_girl (~> 4.7)
diff-lcs (1.2.5)
docile (1.1.5)
- domain_name (0.5.20160310)
+ domain_name (0.5.20160615)
unf (>= 0.0.5, < 1.0.0)
eco (1.0.0)
coffee-script
@@ -176,27 +199,24 @@ GEM
execjs
eco-source (1.1.0.rc.1)
ejs (1.1.1)
- em-hiredis (0.3.1)
- eventmachine (~> 1.0)
- hiredis (~> 0.6.0)
- entypo-rails (2.2.3)
- railties (>= 3.1, <= 5)
+ entypo-rails (3.0.0.pre.rc2)
+ railties (>= 4.1, <= 5)
equalizer (0.0.10)
erubis (2.7.0)
+ eslintrb (2.1.0)
+ execjs
+ multi_json (>= 1.3)
+ rake
ethon (0.9.0)
ffi (>= 1.3.0)
- eventmachine (1.0.9.1)
excon (0.49.0)
execjs (2.7.0)
- eye (0.7)
- celluloid (~> 0.16.0)
- celluloid-io (~> 0.16.0)
+ eye (0.8.1)
+ celluloid (~> 0.17.3)
+ celluloid-io (~> 0.17.0)
sigar (~> 0.7.3)
state_machine
thor
- facebox-rails (0.2.0)
- railties (>= 3.0, < 5.0)
- thor (>= 0.14, < 2.0)
factory_girl (4.7.0)
activesupport (>= 3.0.0)
factory_girl_rails (4.7.0)
@@ -209,7 +229,7 @@ GEM
http-cookie (~> 1.0.0)
faraday_middleware (0.10.0)
faraday (>= 0.7.4, < 0.10)
- ffi (1.9.10)
+ ffi (1.9.14)
fission (0.5.0)
CFPropertyList (~> 2.2)
fixture_builder (0.4.1)
@@ -342,16 +362,20 @@ GEM
fog-xml (0.1.2)
fog-core
nokogiri (~> 1.5, >= 1.5.11)
- font-awesome-rails (4.6.3.0)
+ font-awesome-rails (4.6.3.1)
railties (>= 3.2, < 5.1)
formatador (0.2.5)
- fuubar (2.0.0)
+ fuubar (2.1.1)
rspec (~> 3.0)
ruby-progressbar (~> 1.4)
+ get_process_mem (0.2.1)
gherkin (4.0.0)
+ gitlab (3.6.1)
+ httparty
+ terminal-table
globalid (0.3.7)
activesupport (>= 4.1.0)
- gon (6.0.1)
+ gon (6.1.0)
actionpack (>= 3.0)
json
multi_json
@@ -370,7 +394,7 @@ GEM
cucumber (~> 2.0)
guard-compat (~> 1.0)
nenv (~> 0.1)
- guard-rspec (4.7.2)
+ guard-rspec (4.7.3)
guard (~> 2.1)
guard-compat (~> 1.1)
rspec (>= 2.99.0, < 4.0)
@@ -379,7 +403,16 @@ GEM
rubocop (~> 0.20)
haml (4.0.7)
tilt
- handlebars_assets (0.23.0)
+ haml_lint (0.18.1)
+ haml (~> 4.0)
+ rake (>= 10, < 12)
+ rubocop (>= 0.36.0)
+ sysexits (~> 1.1)
+ hamlit (2.5.0)
+ temple (~> 0.7.6)
+ thor
+ tilt
+ handlebars_assets (0.23.1)
execjs (~> 2.0)
multi_json (~> 1.0)
sprockets (>= 2.0.0)
@@ -387,7 +420,6 @@ GEM
hashdiff (0.3.0)
hashie (3.4.4)
hike (1.2.3)
- hiredis (0.6.1)
hitimes (1.2.4)
http (1.0.4)
addressable (~> 2.3)
@@ -399,6 +431,10 @@ GEM
http-form_data (1.0.1)
http_accept_language (2.0.5)
http_parser.rb (0.6.0)
+ httparty (0.13.7)
+ json (~> 1.8)
+ multi_xml (>= 0.5.2)
+ httpclient (2.8.1)
i18n (0.7.0)
i18n-inflector (2.6.7)
i18n (>= 0.4.1)
@@ -406,7 +442,6 @@ GEM
actionpack (>= 3.0.0)
i18n-inflector (~> 2.6)
railties (>= 3.0.0)
- ice_cube (0.11.1)
inflecto (0.0.2)
ipaddress (0.8.3)
jasmine (2.4.0)
@@ -422,26 +457,35 @@ GEM
thor (>= 0.14, < 2.0)
jquery-ui-rails (5.0.5)
railties (>= 3.2.16)
- js-routes (1.2.6)
+ js-routes (1.2.9)
railties (>= 3.2)
sprockets-rails
js_image_paths (0.1.0)
rails (~> 4.0)
- jshintrb (0.3.0)
- execjs
- multi_json (>= 1.3)
- rake
json (1.8.3)
+ json-jwt (1.6.3)
+ activesupport
+ bindata
+ multi_json (>= 1.3)
+ securecompare
+ url_safe_base64
json-schema (2.6.2)
addressable (~> 2.3.8)
- jwt (1.5.1)
+ json_spec (1.1.4)
+ multi_json (~> 1.0)
+ rspec (>= 2.0, < 4.0)
+ jsonpath (0.5.8)
+ multi_json
+ jwt (1.5.4)
kaminari (0.16.3)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
kgio (2.10.0)
- listen (3.0.8)
+ leaflet-rails (0.7.7)
+ listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
+ ruby_dep (~> 1.2)
little-plugger (1.1.4)
logging (2.1.0)
little-plugger (~> 1.1)
@@ -458,7 +502,6 @@ GEM
markerb (1.1.0)
memoizable (0.4.2)
thread_safe (~> 0.3, >= 0.3.1)
- messagebus_ruby_api (1.0.3)
method_source (0.8.2)
mime-types (3.1)
mime-types-data (~> 3.2015)
@@ -478,24 +521,26 @@ GEM
naught (1.1.0)
nenv (0.3.0)
nested_form (0.3.2)
- nio4r (1.2.0)
+ nio4r (1.2.1)
nokogiri (1.6.8)
mini_portile2 (~> 2.1.0)
pkg-config (~> 1.1.7)
- notiffany (0.1.0)
+ notiffany (0.1.1)
nenv (~> 0.1)
shellany (~> 0.0)
oauth (0.5.1)
- oauth2 (1.1.0)
+ oauth2 (1.2.0)
faraday (>= 0.8, < 0.10)
- jwt (~> 1.0, < 1.5.2)
+ jwt (~> 1.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
+ octokit (4.3.0)
+ sawyer (~> 0.7.0, >= 0.5.3)
omniauth (1.3.1)
hashie (>= 1.2, < 4)
rack (>= 1.0, < 3)
- omniauth-facebook (3.0.0)
+ omniauth-facebook (4.0.0)
omniauth-oauth2 (~> 1.2)
omniauth-oauth (1.1.0)
oauth
@@ -514,13 +559,48 @@ GEM
open_graph_reader (0.6.1)
faraday (~> 0.9.0)
nokogiri (~> 1.6)
+ openid_connect (0.12.0)
+ activemodel
+ attr_required (>= 1.0.0)
+ json (>= 1.4.3)
+ json-jwt (>= 1.5.0)
+ rack-oauth2 (>= 1.3.1)
+ swd (>= 1.0.0)
+ tzinfo
+ validate_email
+ validate_url
+ webfinger (>= 1.0.1)
orm_adapter (0.5.0)
parser (2.3.1.2)
ast (~> 2.2)
+ pg (0.18.4)
phantomjs (2.1.1.0)
pkg-config (1.1.7)
+ poltergeist (1.10.0)
+ capybara (~> 2.1)
+ cliver (~> 0.3.1)
+ websocket-driver (>= 0.2.0)
powerpack (0.1.1)
- pry (0.10.3)
+ pronto (0.7.0)
+ gitlab (~> 3.6, >= 3.4.0)
+ httparty (~> 0.13.7)
+ octokit (~> 4.3, >= 4.1.0)
+ rainbow (~> 2.1)
+ rugged (~> 0.24, >= 0.23.0)
+ thor (~> 0.19.0)
+ pronto-eslint (0.7.0)
+ eslintrb (~> 2.0, >= 2.0.0)
+ pronto (~> 0.7.0)
+ pronto-haml (0.7.0)
+ haml_lint (~> 0.16, >= 0.15.0)
+ pronto (~> 0.7.0)
+ pronto-rubocop (0.7.0)
+ pronto (~> 0.7.0)
+ rubocop (~> 0.38, >= 0.35.0)
+ pronto-scss (0.7.0)
+ pronto (~> 0.7.0)
+ scss_lint (~> 0.43, >= 0.43.0)
+ pry (0.10.4)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
@@ -536,6 +616,12 @@ GEM
activesupport
rack-mobile-detect (0.4.0)
rack
+ rack-oauth2 (1.4.0)
+ activesupport (>= 2.3)
+ attr_required (>= 0.0.5)
+ httpclient (>= 2.4)
+ multi_json (>= 1.3.6)
+ rack (>= 1.1)
rack-piwik (0.3.0)
rack-pjax (0.8.0)
nokogiri (~> 1.5)
@@ -558,7 +644,13 @@ GEM
bundler (>= 1.3.0, < 2.0)
railties (= 4.2.7.1)
sprockets-rails
- rails-assets-diaspora_jsxc (0.1.4)
+ rails-assets-autosize (3.0.17)
+ rails-assets-blueimp-gallery (2.21.3)
+ rails-assets-bootstrap (3.3.7)
+ rails-assets-jquery (>= 1.9.1, < 4)
+ rails-assets-bootstrap-markdown (2.10.0)
+ rails-assets-bootstrap (~> 3)
+ rails-assets-diaspora_jsxc (0.1.5.develop.1)
rails-assets-favico.js (~> 0.3.9)
rails-assets-jquery (>= 1.11)
rails-assets-jquery-colorbox (~> 1.6.3)
@@ -566,15 +658,11 @@ GEM
rails-assets-jquery.slimscroll (~> 1.3.6)
rails-assets-jquery.ui (~> 1.11.4)
rails-assets-favico.js (0.3.10)
- rails-assets-highlightjs (9.4.0)
- rails-assets-jakobmattsson--jquery-elastic (1.6.11)
- rails-assets-jquery (>= 1.2.6)
+ rails-assets-highlightjs (9.6.0)
rails-assets-jasmine (2.4.1)
rails-assets-jasmine-ajax (3.2.0)
rails-assets-jasmine (~> 2)
- rails-assets-jeresig--jquery.hotkeys (0.2.0)
- rails-assets-jquery (>= 1.4.2)
- rails-assets-jquery (1.12.0)
+ rails-assets-jquery (2.2.1)
rails-assets-jquery-colorbox (1.6.4)
rails-assets-jquery (>= 1.3.2)
rails-assets-jquery-fullscreen-plugin (0.5.0)
@@ -582,17 +670,17 @@ GEM
rails-assets-jquery (>= 1.6)
rails-assets-jquery-textchange (0.2.3)
rails-assets-jquery
- rails-assets-jquery.slimscroll (1.3.7)
+ rails-assets-jquery.slimscroll (1.3.8)
rails-assets-jquery.ui (1.11.4)
rails-assets-jquery (>= 1.6)
rails-assets-markdown-it--markdown-it-for-inline (0.1.1)
- rails-assets-markdown-it (6.0.5)
- rails-assets-markdown-it-diaspora-mention (0.4.0)
+ rails-assets-markdown-it (7.0.0)
+ rails-assets-markdown-it-diaspora-mention (1.0.0)
rails-assets-markdown-it-hashtag (0.4.0)
- rails-assets-markdown-it-sanitizer (0.4.1)
+ rails-assets-markdown-it-sanitizer (0.4.2)
rails-assets-markdown-it-sub (1.0.0)
rails-assets-markdown-it-sup (1.0.0)
- rails-assets-perfect-scrollbar (0.6.11)
+ rails-assets-perfect-scrollbar (0.6.12)
rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha)
rails-dom-testing (1.0.7)
@@ -637,37 +725,34 @@ GEM
nokogiri (>= 1.4.1)
trollop
redcarpet (3.3.4)
- redis (3.2.2)
+ redis (3.3.1)
redis-namespace (1.5.2)
redis (~> 3.0, >= 3.0.4)
remotipart (1.2.1)
request_store (1.3.1)
responders (2.2.0)
railties (>= 4.2.0, < 5.1)
- roxml (3.1.6)
- activesupport (>= 2.3.0)
- nokogiri (>= 1.3.3)
- rspec (3.4.0)
- rspec-core (~> 3.4.0)
- rspec-expectations (~> 3.4.0)
- rspec-mocks (~> 3.4.0)
- rspec-core (3.4.4)
- rspec-support (~> 3.4.0)
- rspec-expectations (3.4.0)
+ rspec (3.5.0)
+ rspec-core (~> 3.5.0)
+ rspec-expectations (~> 3.5.0)
+ rspec-mocks (~> 3.5.0)
+ rspec-core (3.5.2)
+ rspec-support (~> 3.5.0)
+ rspec-expectations (3.5.0)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.4.0)
- rspec-mocks (3.4.1)
+ rspec-support (~> 3.5.0)
+ rspec-mocks (3.5.0)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.4.0)
- rspec-rails (3.4.2)
- actionpack (>= 3.0, < 4.3)
- activesupport (>= 3.0, < 4.3)
- railties (>= 3.0, < 4.3)
- rspec-core (~> 3.4.0)
- rspec-expectations (~> 3.4.0)
- rspec-mocks (~> 3.4.0)
- rspec-support (~> 3.4.0)
- rspec-support (3.4.1)
+ rspec-support (~> 3.5.0)
+ rspec-rails (3.5.1)
+ actionpack (>= 3.0)
+ activesupport (>= 3.0)
+ railties (>= 3.0)
+ rspec-core (~> 3.5.0)
+ rspec-expectations (~> 3.5.0)
+ rspec-mocks (~> 3.5.0)
+ rspec-support (~> 3.5.0)
+ rspec-support (3.5.0)
rubocop (0.40.0)
parser (>= 2.3.1.0, < 3.0)
powerpack (~> 0.1)
@@ -676,40 +761,44 @@ GEM
unicode-display_width (~> 1.0, >= 1.0.1)
ruby-oembed (0.10.1)
ruby-progressbar (1.8.1)
+ ruby_dep (1.3.1)
rubyzip (1.2.0)
+ rufus-scheduler (3.2.1)
+ rugged (0.24.0)
safe_yaml (1.0.4)
sass (3.4.22)
- sass-rails (5.0.4)
- railties (>= 4.0.0, < 5.0)
+ sass-rails (5.0.6)
+ railties (>= 4.0.0, < 6)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
- selenium-webdriver (2.47.1)
- childprocess (~> 0.5)
- multi_json (~> 1.0)
- rubyzip (~> 1.0)
- websocket (~> 1.0)
+ sawyer (0.7.0)
+ addressable (>= 2.3.5, < 2.5)
+ faraday (~> 0.8, < 0.10)
+ scss_lint (0.49.0)
+ rake (>= 0.9, < 12)
+ sass (~> 3.4.20)
+ securecompare (1.0.0)
shellany (0.0.1)
shoulda-matchers (3.1.1)
activesupport (>= 4.0.0)
- sidekiq (3.4.2)
- celluloid (~> 0.16.0)
+ sidekiq (4.1.4)
+ concurrent-ruby (~> 1.0)
connection_pool (~> 2.2, >= 2.2.0)
- json (~> 1.0)
redis (~> 3.2, >= 3.2.1)
- redis-namespace (~> 1.5, >= 1.5.2)
- sidetiq (0.6.3)
- celluloid (>= 0.14.1)
- ice_cube (= 0.11.1)
- sidekiq (>= 3.0.0)
+ sinatra (>= 1.4.7)
+ sidekiq-cron (0.4.2)
+ redis-namespace (>= 1.5.2)
+ rufus-scheduler (>= 2.0.24)
+ sidekiq (>= 4.0.0)
sigar (0.7.3)
simple_captcha2 (0.4.0)
rails (>= 4.1)
simple_oauth (0.3.1)
- simplecov (0.11.2)
+ simplecov (0.12.0)
docile (~> 1.1.0)
- json (~> 1.8)
+ json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.0)
sinatra (1.4.7)
@@ -719,7 +808,7 @@ GEM
sinon-rails (1.15.0)
railties (>= 3.1)
slop (3.6.0)
- spring (1.7.1)
+ spring (1.7.2)
spring-commands-cucumber (1.0.1)
spring (>= 0.9.1)
spring-commands-rspec (1.0.4)
@@ -734,15 +823,27 @@ GEM
activesupport (>= 3.0)
sprockets (>= 2.8, < 4.0)
state_machine (1.2.0)
+ swd (1.0.1)
+ activesupport (>= 3)
+ attr_required (>= 0.0.5)
+ httpclient (>= 2.4)
+ i18n
+ json (>= 1.4.3)
+ sysexits (1.2.0)
systemu (2.6.5)
- test_after_commit (1.0.0)
+ temple (0.7.7)
+ term-ansicolor (1.3.2)
+ tins (~> 1.0)
+ terminal-table (1.6.0)
+ test_after_commit (1.1.0)
activerecord (>= 3.2)
thor (0.19.1)
thread_safe (0.3.5)
tilt (1.4.1)
timecop (0.8.1)
- timers (4.0.4)
+ timers (4.1.1)
hitimes
+ tins (1.12.0)
trollop (2.1.2)
turbo_dev_assets (0.0.2)
twitter (5.16.0)
@@ -756,104 +857,135 @@ GEM
memoizable (~> 0.4.0)
naught (~> 1.0)
simple_oauth (~> 0.3.0)
- twitter-text (1.13.4)
+ twitter-text (1.14.0)
unf (~> 0.1.0)
- typhoeus (1.0.2)
+ typhoeus (1.1.0)
ethon (>= 0.9.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)
- uglifier (3.0.0)
+ uglifier (3.0.1)
execjs (>= 0.3.0, < 3)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.2)
- unicode-display_width (1.0.5)
+ unicode-display_width (1.1.0)
unicorn (5.1.0)
kgio (~> 2.6)
raindrops (~> 0.7)
+ unicorn-worker-killer (0.4.4)
+ get_process_mem (~> 0)
+ unicorn (>= 4, < 6)
+ url_safe_base64 (0.2.2)
uuid (2.3.8)
macaddr (~> 1.0)
- valid (1.1.0)
+ valid (1.2.0)
+ validate_email (0.1.6)
+ activemodel (>= 3.0)
+ mail (>= 2.2.5)
+ validate_url (1.0.2)
+ activemodel (>= 3.0.0)
+ addressable
+ versionist (1.5.0)
+ activesupport (>= 3)
+ railties (>= 3)
+ yard (~> 0.7)
warden (1.2.6)
rack (>= 1.0)
+ webfinger (1.0.2)
+ activesupport
+ httpclient (>= 2.4)
+ multi_json
webmock (2.1.0)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
- websocket (1.2.3)
+ websocket-driver (0.6.4)
+ websocket-extensions (>= 0.1.0)
+ websocket-extensions (0.1.2)
will_paginate (3.1.0)
xml-simple (1.1.5)
xpath (2.0.0)
nokogiri (~> 1.3)
+ yard (0.8.7.6)
PLATFORMS
ruby
DEPENDENCIES
active_model_serializers (= 0.9.5)
- activerecord-import (= 0.13.0)
+ activerecord-import (= 0.15.0)
acts-as-taggable-on (= 3.5.0)
- acts_as_api (= 0.4.2)
+ acts_as_api (= 0.4.3)
addressable (= 2.3.8)
asset_sync (= 1.1.0)
- autoprefixer-rails (= 6.3.6.2)
+ autoprefixer-rails (= 6.4.0.2)
backbone-on-rails (= 1.2.0.0)
- bootstrap-sass (= 2.3.2.2)
+ bootstrap-sass (= 3.3.7)
+ bootstrap-switch-rails (= 3.3.3)
capybara (= 2.7.1)
carrierwave (= 0.11.2)
compass-rails (= 2.0.5)
configurate (= 0.3.1)
- cucumber-rails (= 1.4.3)
+ coveralls
+ cucumber-api-steps (= 0.13)
+ cucumber-rails (= 1.4.4)
database_cleaner (= 1.5.3)
- devise (= 3.5.6)
- devise-token_authenticatable (= 0.4.6)
+ devise (= 4.2.0)
+ devise-token_authenticatable (= 0.5.2)
devise_lastseenable (= 0.0.6)
- diaspora-vines (= 0.2.0.develop.4)
- diaspora_federation-rails (= 0.0.13)
- diaspora_federation-test (= 0.0.13)
- entypo-rails (= 2.2.3)
- eye (= 0.7)
- facebox-rails (= 0.2.0)
+ diaspora-prosody-config (= 0.0.5)
+ diaspora_federation-rails (= 0.1.4)
+ diaspora_federation-test (= 0.1.4)
+ entypo-rails (= 3.0.0.pre.rc2)
+ eye (= 0.8.1)
factory_girl_rails (= 4.7.0)
faraday (= 0.9.2)
faraday-cookie_jar (= 0.0.6)
faraday_middleware (= 0.10.0)
fixture_builder (= 0.4.1)
fog (= 1.38.0)
- fuubar (= 2.0.0)
- gon (= 6.0.1)
+ fuubar (= 2.1.1)
+ gon (= 6.1.0)
guard (= 2.14.0)
guard-cucumber (= 2.1.2)
- guard-rspec (= 4.7.2)
+ guard-rspec (= 4.7.3)
guard-rubocop (= 1.2.0)
- haml (= 4.0.7)
- handlebars_assets (= 0.23.0)
+ haml_lint (= 0.18.1)
+ hamlit (= 2.5.0)
+ handlebars_assets (= 0.23.1)
http_accept_language (= 2.0.5)
i18n-inflector-rails (= 1.0.7)
jasmine (= 2.4.0)
jasmine-jquery-rails (= 2.0.3)
jquery-rails (= 4.1.1)
jquery-ui-rails (= 5.0.5)
- js-routes (= 1.2.6)
+ js-routes (= 1.2.9)
js_image_paths (= 0.1.0)
- jshintrb (= 0.3.0)
json (= 1.8.3)
json-schema (= 2.6.2)
- listen (~> 3.0.0)
+ json_spec (= 1.1.4)
+ leaflet-rails (= 0.7.7)
logging-rails (= 0.5.0)
markerb (= 1.1.0)
- messagebus_ruby_api (= 1.0.3)
mini_magick (= 4.5.1)
minitest
mobile-fu (= 1.3.1)
mysql2 (= 0.4.4)
nokogiri (= 1.6.8)
omniauth (= 1.3.1)
- omniauth-facebook (= 3.0.0)
+ omniauth-facebook (= 4.0.0)
omniauth-tumblr (= 1.2)
omniauth-twitter (= 1.2.1)
omniauth-wordpress (= 0.2.2)
open_graph_reader (= 0.6.1)
+ openid_connect (= 0.12.0)
+ pg (= 0.18.4)
+ poltergeist (= 1.10.0)
+ pronto (= 0.7.0)
+ pronto-eslint (= 0.7.0)
+ pronto-haml (= 0.7.0)
+ pronto-rubocop (= 0.7.0)
+ pronto-scss (= 0.7.0)
pry
pry-byebug
quiet_assets (= 1.1.0)
@@ -864,22 +996,23 @@ DEPENDENCIES
rack-rewrite (= 1.5.1)
rack-ssl (= 1.4.1)
rails (= 4.2.7.1)
- rails-assets-diaspora_jsxc (= 0.1.4)!
- rails-assets-highlightjs (= 9.4.0)!
- rails-assets-jakobmattsson--jquery-elastic (= 1.6.11)!
+ rails-assets-autosize (= 3.0.17)!
+ rails-assets-blueimp-gallery (= 2.21.3)!
+ rails-assets-bootstrap-markdown (= 2.10.0)!
+ rails-assets-diaspora_jsxc (= 0.1.5.develop.1)!
+ rails-assets-highlightjs (= 9.6.0)!
rails-assets-jasmine-ajax (= 3.2.0)!
- rails-assets-jeresig--jquery.hotkeys (= 0.2.0)!
- rails-assets-jquery (= 1.12.0)!
+ rails-assets-jquery (= 2.2.1)!
rails-assets-jquery-placeholder (= 2.3.1)!
rails-assets-jquery-textchange (= 0.2.3)!
- rails-assets-markdown-it (= 6.0.5)!
+ rails-assets-markdown-it (= 7.0.0)!
rails-assets-markdown-it--markdown-it-for-inline (= 0.1.1)!
- rails-assets-markdown-it-diaspora-mention (= 0.4.0)!
+ rails-assets-markdown-it-diaspora-mention (= 1.0.0)!
rails-assets-markdown-it-hashtag (= 0.4.0)!
- rails-assets-markdown-it-sanitizer (= 0.4.1)!
+ rails-assets-markdown-it-sanitizer (= 0.4.2)!
rails-assets-markdown-it-sub (= 1.0.0)!
rails-assets-markdown-it-sup (= 1.0.0)!
- rails-assets-perfect-scrollbar (= 0.6.11)!
+ rails-assets-perfect-scrollbar (= 0.6.12)!
rails-i18n (= 4.0.8)
rails-timeago (= 2.11.0)
rails_admin (= 0.8.1)
@@ -888,32 +1021,32 @@ DEPENDENCIES
redcarpet (= 3.3.4)
remotipart (= 1.2.1)
responders (= 2.2.0)
- roxml (= 3.1.6)
- rspec-rails (= 3.4.2)
+ rspec-rails (= 3.5.1)
rubocop (= 0.40.0)
ruby-oembed (= 0.10.1)
rubyzip (= 1.2.0)
- sass-rails (= 5.0.4)
- selenium-webdriver (= 2.47.1)
+ sass-rails (= 5.0.6)
shoulda-matchers (= 3.1.1)
- sidekiq (= 3.4.2)
- sidetiq (= 0.6.3)
+ sidekiq (= 4.1.4)
+ sidekiq-cron (= 0.4.2)
simple_captcha2 (= 0.4.0)
- simplecov (= 0.11.2)
+ simplecov (= 0.12.0)
sinatra (= 1.4.7)
sinon-rails (= 1.15.0)
- spring (= 1.7.1)
+ spring (= 1.7.2)
spring-commands-cucumber (= 1.0.1)
spring-commands-rspec (= 1.0.4)
- test_after_commit (= 1.0.0)
+ test_after_commit (= 1.1.0)
timecop (= 0.8.1)
turbo_dev_assets (= 0.0.2)
twitter (= 5.16.0)
- twitter-text (= 1.13.4)
- typhoeus (= 1.0.2)
- uglifier (= 3.0.0)
+ twitter-text (= 1.14.0)
+ typhoeus (= 1.1.0)
+ uglifier (= 3.0.1)
unicorn (= 5.1.0)
+ unicorn-worker-killer (= 0.4.4)
uuid (= 2.3.8)
+ versionist (= 1.5.0)
webmock (= 2.1.0)
will_paginate (= 3.1.0)
diff --git a/README.md b/README.md
index bdacd7bb7..c91fc94fe 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,17 @@
# diaspora*
### A privacy-aware, distributed, open source social network
-**master:** [](http://travis-ci.org/diaspora/diaspora)
-**stable:** [](http://travis-ci.org/diaspora/diaspora) |
-**develop:** [](http://travis-ci.org/diaspora/diaspora) |
-[](https://gemnasium.com/diaspora/diaspora)
-[](https://codeclimate.com/github/diaspora/diaspora)
+**master:** [](http://travis-ci.org/diaspora/diaspora)
+**next-minor:** [](http://travis-ci.org/diaspora/diaspora)
+[](https://coveralls.io/github/diaspora/diaspora?branch=next-minor)|
+**develop:** [](http://travis-ci.org/diaspora/diaspora)
+[](https://coveralls.io/github/diaspora/diaspora?branch=develop) |
+[](https://gemnasium.com/diaspora/diaspora)
+[](https://codeclimate.com/github/diaspora/diaspora)
[Project site](https://diasporafoundation.org) |
[Wiki](https://wiki.diasporafoundation.org) |
-[Bugtracker](http://github.com/diaspora/diaspora/issues) |
+[Bugtracker](https://github.com/diaspora/diaspora/issues) |
[Discussions](https://www.loomio.org/groups/194) |
[Mailing lists](https://wiki.diasporafoundation.org/How_We_Communicate#Mailing_Lists) |
[License](/COPYRIGHT) |
@@ -17,7 +19,6 @@
## Installation
-
You don't have to install diaspora* to use the network. There are many servers connected to diaspora*s network which are open to anyone, and you can create an account on one of these servers. Have a look at our [tips for finding a home](https://wiki.diasporafoundation.org/Choosing_a_pod), or you can just go straight to the [list of open servers](http://podupti.me) to sign up.
Want to own your data and install diaspora*? Whether you just want to try it out, want to install it on your server or want to contribute and need a development setup, our [installation guides](https://wiki.diasporafoundation.org/Installation) will get you started!
@@ -36,5 +37,4 @@ Everyone interacting in diaspora’s codebases, issue trackers, chat rooms, mail
## Security
-Found a security issue? Please disclose it responsibly. We have a team of developers listening to [security@diasporafoundation.org](mailto:security@diasporafoundation.org). The PGP fingerprint is [AB0D AB02 0FC5 D398 03AB 3CE1 6F70 243F 27AD 886A](http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x6F70243F27AD886A)
-
+Found a security issue? Please disclose it responsibly. We have a team of developers listening to [security@diasporafoundation.org](mailto:security@diasporafoundation.org). The PGP fingerprint is [AB0D AB02 0FC5 D398 03AB 3CE1 6F70 243F 27AD 886A](https://pgp.mit.edu/pks/lookup?op=get&search=0x6F70243F27AD886A).
diff --git a/app/assets/images/ajax-loader.gif b/app/assets/images/ajax-loader.gif
deleted file mode 100644
index e40f19a28..000000000
Binary files a/app/assets/images/ajax-loader.gif and /dev/null differ
diff --git a/app/assets/images/mobile/asterisk_white_mobile.png b/app/assets/images/branding/logos/asterisk_white_mobile.png
similarity index 100%
rename from app/assets/images/mobile/asterisk_white_mobile.png
rename to app/assets/images/branding/logos/asterisk_white_mobile.png
diff --git a/app/assets/images/branding/logos/header-logo.png b/app/assets/images/branding/logos/header-logo.png
deleted file mode 100644
index 0e47dd91e..000000000
Binary files a/app/assets/images/branding/logos/header-logo.png and /dev/null differ
diff --git a/app/assets/images/branding/logos/header-logo_hover.png b/app/assets/images/branding/logos/header-logo_hover.png
deleted file mode 100644
index dae58b943..000000000
Binary files a/app/assets/images/branding/logos/header-logo_hover.png and /dev/null differ
diff --git a/app/assets/images/branding/logos/powered_by_diaspora.png b/app/assets/images/branding/logos/powered_by_diaspora.png
deleted file mode 100644
index 3979f5be7..000000000
Binary files a/app/assets/images/branding/logos/powered_by_diaspora.png and /dev/null differ
diff --git a/app/assets/images/branding/logos/white2x.png b/app/assets/images/branding/logos/white2x.png
deleted file mode 100644
index fa0aafb95..000000000
Binary files a/app/assets/images/branding/logos/white2x.png and /dev/null differ
diff --git a/app/assets/images/dandelion.jpg b/app/assets/images/dandelion.jpg
new file mode 100644
index 000000000..5766b5840
Binary files /dev/null and b/app/assets/images/dandelion.jpg differ
diff --git a/app/assets/images/favicon.ico b/app/assets/images/favicon.ico
deleted file mode 100644
index c07db7363..000000000
Binary files a/app/assets/images/favicon.ico and /dev/null differ
diff --git a/app/assets/images/fonts/Roboto-Bold.ttf b/app/assets/images/fonts/Roboto-Bold.ttf
deleted file mode 100644
index 91ec21227..000000000
Binary files a/app/assets/images/fonts/Roboto-Bold.ttf and /dev/null differ
diff --git a/app/assets/images/fonts/Roboto-Light.ttf b/app/assets/images/fonts/Roboto-Light.ttf
deleted file mode 100644
index d43e94331..000000000
Binary files a/app/assets/images/fonts/Roboto-Light.ttf and /dev/null differ
diff --git a/app/assets/images/fonts/Roboto-Regular.ttf b/app/assets/images/fonts/Roboto-Regular.ttf
deleted file mode 100644
index 7d9a6c4c3..000000000
Binary files a/app/assets/images/fonts/Roboto-Regular.ttf and /dev/null differ
diff --git a/app/assets/images/fonts/diaspora-custom.ttf b/app/assets/images/fonts/diaspora-custom.ttf
new file mode 100644
index 000000000..4b21e9b84
Binary files /dev/null and b/app/assets/images/fonts/diaspora-custom.ttf differ
diff --git a/app/assets/images/fonts/svg-icons/compose_mobile.svg b/app/assets/images/fonts/svg-icons/compose_mobile.svg
new file mode 100644
index 000000000..ff020cd60
--- /dev/null
+++ b/app/assets/images/fonts/svg-icons/compose_mobile.svg
@@ -0,0 +1,21 @@
+
+
diff --git a/app/assets/images/header-bg-long.jpg b/app/assets/images/header-bg-long.jpg
deleted file mode 100644
index da0492bc7..000000000
Binary files a/app/assets/images/header-bg-long.jpg and /dev/null differ
diff --git a/app/assets/images/header-bg.png b/app/assets/images/header-bg.png
deleted file mode 100644
index fa7d7d8aa..000000000
Binary files a/app/assets/images/header-bg.png and /dev/null differ
diff --git a/app/assets/images/icons/mail_grey.png b/app/assets/images/icons/mail_grey.png
deleted file mode 100644
index 3f503af53..000000000
Binary files a/app/assets/images/icons/mail_grey.png and /dev/null differ
diff --git a/app/assets/images/icons/mail_grey_hover.png b/app/assets/images/icons/mail_grey_hover.png
deleted file mode 100644
index a4dbff838..000000000
Binary files a/app/assets/images/icons/mail_grey_hover.png and /dev/null differ
diff --git a/app/assets/images/icons/notifications_grey.png b/app/assets/images/icons/notifications_grey.png
deleted file mode 100644
index 78ad7c779..000000000
Binary files a/app/assets/images/icons/notifications_grey.png and /dev/null differ
diff --git a/app/assets/images/icons/notifications_grey_hover.png b/app/assets/images/icons/notifications_grey_hover.png
deleted file mode 100644
index 4558a55a9..000000000
Binary files a/app/assets/images/icons/notifications_grey_hover.png and /dev/null differ
diff --git a/app/assets/images/img/glyphicons-halflings-blue.png b/app/assets/images/img/glyphicons-halflings-blue.png
deleted file mode 100644
index a8dca0fcc..000000000
Binary files a/app/assets/images/img/glyphicons-halflings-blue.png and /dev/null differ
diff --git a/app/assets/images/img/glyphicons-halflings-red.png b/app/assets/images/img/glyphicons-halflings-red.png
deleted file mode 100644
index 30c315fe0..000000000
Binary files a/app/assets/images/img/glyphicons-halflings-red.png and /dev/null differ
diff --git a/app/assets/images/landing/cog.png b/app/assets/images/landing/cog.png
deleted file mode 100644
index 06e693960..000000000
Binary files a/app/assets/images/landing/cog.png and /dev/null differ
diff --git a/app/assets/images/landing/pen_write.png b/app/assets/images/landing/pen_write.png
deleted file mode 100644
index 34a2fdffc..000000000
Binary files a/app/assets/images/landing/pen_write.png and /dev/null differ
diff --git a/app/assets/images/landing/smiley_laughing.png b/app/assets/images/landing/smiley_laughing.png
deleted file mode 100644
index e2e6dc0b8..000000000
Binary files a/app/assets/images/landing/smiley_laughing.png and /dev/null differ
diff --git a/app/assets/images/mobile/arrow-left.png b/app/assets/images/mobile/arrow-left.png
deleted file mode 100644
index 8ae1a3d0e..000000000
Binary files a/app/assets/images/mobile/arrow-left.png and /dev/null differ
diff --git a/app/assets/images/mobile/arrow-right.png b/app/assets/images/mobile/arrow-right.png
deleted file mode 100644
index 9683d7bba..000000000
Binary files a/app/assets/images/mobile/arrow-right.png and /dev/null differ
diff --git a/app/assets/images/mobile/arrow_down_small.png b/app/assets/images/mobile/arrow_down_small.png
deleted file mode 100644
index 392d82125..000000000
Binary files a/app/assets/images/mobile/arrow_down_small.png and /dev/null differ
diff --git a/app/assets/images/mobile/arrow_up_small.png b/app/assets/images/mobile/arrow_up_small.png
deleted file mode 100644
index 970a8e596..000000000
Binary files a/app/assets/images/mobile/arrow_up_small.png and /dev/null differ
diff --git a/app/assets/images/mobile/camera.png b/app/assets/images/mobile/camera.png
deleted file mode 100644
index cc4d3bd54..000000000
Binary files a/app/assets/images/mobile/camera.png and /dev/null differ
diff --git a/app/assets/images/mobile/check_yes_ok.png b/app/assets/images/mobile/check_yes_ok.png
deleted file mode 100644
index da33bf6fd..000000000
Binary files a/app/assets/images/mobile/check_yes_ok.png and /dev/null differ
diff --git a/app/assets/images/mobile/compose_mobile.png b/app/assets/images/mobile/compose_mobile.png
deleted file mode 100644
index 22bfd6f77..000000000
Binary files a/app/assets/images/mobile/compose_mobile.png and /dev/null differ
diff --git a/app/assets/images/mobile/deletelabel.png b/app/assets/images/mobile/deletelabel.png
deleted file mode 100644
index b3e53ee3a..000000000
Binary files a/app/assets/images/mobile/deletelabel.png and /dev/null differ
diff --git a/app/assets/images/mobile/hatched-light.jpg b/app/assets/images/mobile/hatched-light.jpg
deleted file mode 100644
index 0282e7eb7..000000000
Binary files a/app/assets/images/mobile/hatched-light.jpg and /dev/null differ
diff --git a/app/assets/images/mobile/heart_mobile_grey.png b/app/assets/images/mobile/heart_mobile_grey.png
deleted file mode 100644
index 9e5ce387c..000000000
Binary files a/app/assets/images/mobile/heart_mobile_grey.png and /dev/null differ
diff --git a/app/assets/images/mobile/heart_mobile_red.png b/app/assets/images/mobile/heart_mobile_red.png
deleted file mode 100644
index e2b5dc42b..000000000
Binary files a/app/assets/images/mobile/heart_mobile_red.png and /dev/null differ
diff --git a/app/assets/images/mobile/mail_white.png b/app/assets/images/mobile/mail_white.png
deleted file mode 100644
index ad215505f..000000000
Binary files a/app/assets/images/mobile/mail_white.png and /dev/null differ
diff --git a/app/assets/images/mobile/menu.png b/app/assets/images/mobile/menu.png
deleted file mode 100644
index 59b11180c..000000000
Binary files a/app/assets/images/mobile/menu.png and /dev/null differ
diff --git a/app/assets/images/mobile/notifications_white.png b/app/assets/images/mobile/notifications_white.png
deleted file mode 100644
index 3f94e2848..000000000
Binary files a/app/assets/images/mobile/notifications_white.png and /dev/null differ
diff --git a/app/assets/images/mobile/pencil_mobile_grey.png b/app/assets/images/mobile/pencil_mobile_grey.png
deleted file mode 100644
index da72cc3d4..000000000
Binary files a/app/assets/images/mobile/pencil_mobile_grey.png and /dev/null differ
diff --git a/app/assets/images/mobile/pencil_mobile_grey_active.png b/app/assets/images/mobile/pencil_mobile_grey_active.png
deleted file mode 100644
index 5d4147ea0..000000000
Binary files a/app/assets/images/mobile/pencil_mobile_grey_active.png and /dev/null differ
diff --git a/app/assets/images/mobile/reshare_mobile.png b/app/assets/images/mobile/reshare_mobile.png
deleted file mode 100644
index 91883ea03..000000000
Binary files a/app/assets/images/mobile/reshare_mobile.png and /dev/null differ
diff --git a/app/assets/images/mobile/reshare_mobile_active.png b/app/assets/images/mobile/reshare_mobile_active.png
deleted file mode 100644
index 71a1feb5b..000000000
Binary files a/app/assets/images/mobile/reshare_mobile_active.png and /dev/null differ
diff --git a/app/assets/images/social_media_logos/Readme.txt b/app/assets/images/social-media-logos/Readme.txt
similarity index 100%
rename from app/assets/images/social_media_logos/Readme.txt
rename to app/assets/images/social-media-logos/Readme.txt
diff --git a/app/assets/images/social_media_logos/facebook-16x16.png b/app/assets/images/social-media-logos/facebook-16x16.png
similarity index 100%
rename from app/assets/images/social_media_logos/facebook-16x16.png
rename to app/assets/images/social-media-logos/facebook-16x16.png
diff --git a/app/assets/images/social_media_logos/facebook-24x24.png b/app/assets/images/social-media-logos/facebook-24x24.png
similarity index 100%
rename from app/assets/images/social_media_logos/facebook-24x24.png
rename to app/assets/images/social-media-logos/facebook-24x24.png
diff --git a/app/assets/images/social_media_logos/facebook-32x32.png b/app/assets/images/social-media-logos/facebook-32x32.png
similarity index 100%
rename from app/assets/images/social_media_logos/facebook-32x32.png
rename to app/assets/images/social-media-logos/facebook-32x32.png
diff --git a/app/assets/images/social_media_logos/tumblr-16x16.png b/app/assets/images/social-media-logos/tumblr-16x16.png
similarity index 100%
rename from app/assets/images/social_media_logos/tumblr-16x16.png
rename to app/assets/images/social-media-logos/tumblr-16x16.png
diff --git a/app/assets/images/social_media_logos/tumblr-24x24.png b/app/assets/images/social-media-logos/tumblr-24x24.png
similarity index 100%
rename from app/assets/images/social_media_logos/tumblr-24x24.png
rename to app/assets/images/social-media-logos/tumblr-24x24.png
diff --git a/app/assets/images/social_media_logos/tumblr-32x32.png b/app/assets/images/social-media-logos/tumblr-32x32.png
similarity index 100%
rename from app/assets/images/social_media_logos/tumblr-32x32.png
rename to app/assets/images/social-media-logos/tumblr-32x32.png
diff --git a/app/assets/images/social_media_logos/twitter-16x16.png b/app/assets/images/social-media-logos/twitter-16x16.png
similarity index 100%
rename from app/assets/images/social_media_logos/twitter-16x16.png
rename to app/assets/images/social-media-logos/twitter-16x16.png
diff --git a/app/assets/images/social_media_logos/twitter-24x24.png b/app/assets/images/social-media-logos/twitter-24x24.png
similarity index 100%
rename from app/assets/images/social_media_logos/twitter-24x24.png
rename to app/assets/images/social-media-logos/twitter-24x24.png
diff --git a/app/assets/images/social_media_logos/twitter-32x32.png b/app/assets/images/social-media-logos/twitter-32x32.png
similarity index 100%
rename from app/assets/images/social_media_logos/twitter-32x32.png
rename to app/assets/images/social-media-logos/twitter-32x32.png
diff --git a/app/assets/images/social_media_logos/wordpress-16x16.png b/app/assets/images/social-media-logos/wordpress-16x16.png
similarity index 100%
rename from app/assets/images/social_media_logos/wordpress-16x16.png
rename to app/assets/images/social-media-logos/wordpress-16x16.png
diff --git a/app/assets/images/social_media_logos/wordpress-24x24.png b/app/assets/images/social-media-logos/wordpress-24x24.png
similarity index 100%
rename from app/assets/images/social_media_logos/wordpress-24x24.png
rename to app/assets/images/social-media-logos/wordpress-24x24.png
diff --git a/app/assets/images/social_media_logos/wordpress-32x32.png b/app/assets/images/social-media-logos/wordpress-32x32.png
similarity index 100%
rename from app/assets/images/social_media_logos/wordpress-32x32.png
rename to app/assets/images/social-media-logos/wordpress-32x32.png
diff --git a/app/assets/images/static-loader.png b/app/assets/images/static-loader.png
deleted file mode 100644
index 1b3709935..000000000
Binary files a/app/assets/images/static-loader.png and /dev/null differ
diff --git a/app/assets/javascripts/api/authorization_page.js b/app/assets/javascripts/api/authorization_page.js
new file mode 100644
index 000000000..d61b941ec
--- /dev/null
+++ b/app/assets/javascripts/api/authorization_page.js
@@ -0,0 +1,5 @@
+$(document).ready(function() {
+ $("#js-app-logo").error(function () {
+ $(this).attr("src", ImagePaths.get("user/default.png"));
+ });
+});
diff --git a/app/assets/javascripts/app/app.js b/app/assets/javascripts/app/app.js
index 007304793..1046bd66a 100644
--- a/app/assets/javascripts/app/app.js
+++ b/app/assets/javascripts/app/app.js
@@ -46,8 +46,8 @@ var app = {
app.router = new app.Router();
this.setupDummyPreloads();
- this.setupFacebox();
this.setupUser();
+ this.setupAspects();
this.setupHeader();
this.setupBackboneLinks();
this.setupGlobalViews();
@@ -66,7 +66,7 @@ var app = {
},
parsePreload : function(prop) {
- if(!app.hasPreload(prop)) { return }
+ if(!app.hasPreload(prop)) { return; }
var preload = window.gon.preloads[prop];
delete window.gon.preloads[prop]; //prevent dirty state across navigates
@@ -84,6 +84,10 @@ var app = {
app.currentUser = app.user(window.gon.user) || new app.models.User();
},
+ setupAspects: function() {
+ app.aspects = new app.collections.Aspects(app.currentUser.get("aspects"));
+ },
+
setupHeader: function() {
if(app.currentUser.authenticated()) {
app.header = new app.views.Header();
@@ -92,12 +96,6 @@ var app = {
}
},
- setupFacebox: function() {
- $.facebox.settings.closeImage = ImagePaths.get('facebox/closelabel.png');
- $.facebox.settings.loadingImage = ImagePaths.get('facebox/loading.gif');
- $.facebox.settings.opacity = 0.75;
- },
-
setupBackboneLinks: function() {
Backbone.history.start({pushState: true});
@@ -110,12 +108,6 @@ var app = {
evt.preventDefault();
var link = $(this);
- if(link.data("stream-title") && link.data("stream-title").length) {
- $(".stream_title").text(link.data("stream-title"));
- } else {
- $(".stream_title").text(link.text());
- }
-
$("html, body").animate({scrollTop: 0});
// app.router.navigate doesn't tell us if it changed the page,
@@ -127,16 +119,14 @@ var app = {
setupGlobalViews: function() {
app.hovercard = new app.views.Hovercard();
- $('.aspect_membership_dropdown').each(function(){
- new app.views.AspectMembership({el: this});
- });
app.sidebar = new app.views.Sidebar();
app.backToTop = new app.views.BackToTop({el: $(document)});
+ app.flashMessages = new app.views.FlashMessages({el: $("#flash-container")});
},
/* mixpanel wrapper function */
instrument : function(type, name, object, callback) {
- if(!window.mixpanel) { return }
+ if(!window.mixpanel) { return; }
window.mixpanel[type](name, object, callback);
},
@@ -150,6 +140,9 @@ var app = {
// add placeholder support for old browsers
$("input, textarea").placeholder();
+ // init autosize plugin
+ autosize($("textarea"));
+
// setup remote forms
$(document).on("ajax:success", "form[data-remote]", function() {
$(this).clearForm();
diff --git a/app/assets/javascripts/app/collections/aspect_memberships.js b/app/assets/javascripts/app/collections/aspect_memberships.js
index dc3c0410b..5c53b6ead 100644
--- a/app/assets/javascripts/app/collections/aspect_memberships.js
+++ b/app/assets/javascripts/app/collections/aspect_memberships.js
@@ -1,6 +1,10 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
app.collections.AspectMemberships = Backbone.Collection.extend({
- model: app.models.AspectMembership
+ model: app.models.AspectMembership,
+
+ findByAspectId: function(id) {
+ return this.find(function(membership) { return membership.belongsToAspect(id); });
+ }
});
// @license-end
diff --git a/app/assets/javascripts/app/collections/aspect_selections.js b/app/assets/javascripts/app/collections/aspect_selections.js
new file mode 100644
index 000000000..bfe3fb94e
--- /dev/null
+++ b/app/assets/javascripts/app/collections/aspect_selections.js
@@ -0,0 +1,31 @@
+// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
+
+app.collections.AspectSelections = Backbone.Collection.extend({
+ model: app.models.AspectSelection,
+
+ selectedGetAttribute: function(attribute) {
+ return _.pluck(_.filter(this.toJSON(), function(a) {
+ return a.selected;
+ }), attribute);
+ },
+
+ allSelected: function() {
+ return this.length === _.filter(this.toJSON(), function(a) { return a.selected; }).length;
+ },
+
+ selectAll: function() {
+ this.map(function(a) { a.set({"selected": true}); });
+ },
+
+ deselectAll: function() {
+ this.map(function(a) { a.set({"selected": false}); });
+ },
+
+ toSentence: function() {
+ var separator = Diaspora.I18n.t("comma") + " ";
+ var pattern = new RegExp(Diaspora.I18n.t("comma") + "\\s([^" + Diaspora.I18n.t("comma") + "]+)$");
+ return this.selectedGetAttribute("name").join(separator).replace(pattern, " " + Diaspora.I18n.t("and") + " $1")
+ || Diaspora.I18n.t("my_aspects");
+ }
+});
+// @license-end
diff --git a/app/assets/javascripts/app/collections/aspects.js b/app/assets/javascripts/app/collections/aspects.js
index 7b25d33b5..4cecea647 100644
--- a/app/assets/javascripts/app/collections/aspects.js
+++ b/app/assets/javascripts/app/collections/aspects.js
@@ -1,29 +1,7 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
app.collections.Aspects = Backbone.Collection.extend({
- model: app.models.AspectSelection,
-
- selectedAspects: function(attribute){
- return _.pluck(_.filter(this.toJSON(), function(a){
- return a.selected;
- }), attribute);
- },
-
- allSelected: function(){
- return this.length === _.filter(this.toJSON(), function(a){ return a.selected; }).length;
- },
-
- selectAll: function(){
- this.map(function(a){ a.set({ 'selected' : true })} );
- },
-
- deselectAll: function(){
- this.map(function(a){ a.set({ 'selected' : false })} );
- },
-
- toSentence: function(){
- var separator = Diaspora.I18n.t("comma") + ' ';
- return this.selectedAspects('name').join(separator).replace(/,\s([^,]+)$/, ' ' + Diaspora.I18n.t("and") + ' $1') || Diaspora.I18n.t("my_aspects");
- }
+ model: app.models.Aspect,
+ url: "/aspects"
});
// @license-end
diff --git a/app/assets/javascripts/app/collections/comments.js b/app/assets/javascripts/app/collections/comments.js
index f096363e0..9ecf4f047 100644
--- a/app/assets/javascripts/app/collections/comments.js
+++ b/app/assets/javascripts/app/collections/comments.js
@@ -2,19 +2,20 @@
app.collections.Comments = Backbone.Collection.extend({
model: app.models.Comment,
- url: function() { return _.result(this.post, 'url') + '/comments'; },
+ url: function() {
+ return _.result(this.post, "url") + "/comments";
+ },
initialize : function(models, options) {
this.post = options.post;
},
- make : function(text){
+ make : function(text) {
var self = this;
-
- var comment = new app.models.Comment({text: text });
+ var comment = new app.models.Comment({ "text": text });
var deferred = comment.save({}, {
- url: '/posts/'+this.post.id+'/comments',
+ url: "/posts/"+ this.post.id +"/comments",
success: function() {
comment.set({author: app.currentUser.toJSON(), parent: self.post });
self.add(comment);
diff --git a/app/assets/javascripts/app/collections/pods.js b/app/assets/javascripts/app/collections/pods.js
new file mode 100644
index 000000000..1264d09c4
--- /dev/null
+++ b/app/assets/javascripts/app/collections/pods.js
@@ -0,0 +1,10 @@
+// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
+app.collections.Pods = Backbone.Collection.extend({
+ model: app.models.Pod,
+
+ comparator: function(model) {
+ var host = model.get("host") || "";
+ return host.toLowerCase();
+ }
+});
+// @license-end
diff --git a/app/assets/javascripts/app/collections/posts.js b/app/assets/javascripts/app/collections/posts.js
index fc5fe1bbe..d05ed6bbc 100644
--- a/app/assets/javascripts/app/collections/posts.js
+++ b/app/assets/javascripts/app/collections/posts.js
@@ -5,4 +5,3 @@ app.collections.Posts = Backbone.Collection.extend({
url : "/posts"
});
// @license-end
-
diff --git a/app/assets/javascripts/app/collections/reshares.js b/app/assets/javascripts/app/collections/reshares.js
index 28ce59c24..1aee51053 100644
--- a/app/assets/javascripts/app/collections/reshares.js
+++ b/app/assets/javascripts/app/collections/reshares.js
@@ -5,4 +5,3 @@ app.collections.Reshares = Backbone.Collection.extend({
url : "/reshares"
});
// @license-end
-
diff --git a/app/assets/javascripts/app/helpers/handlebars-helpers.js b/app/assets/javascripts/app/helpers/handlebars-helpers.js
index d27f4df96..0a75ebbb6 100644
--- a/app/assets/javascripts/app/helpers/handlebars-helpers.js
+++ b/app/assets/javascripts/app/helpers/handlebars-helpers.js
@@ -47,7 +47,7 @@ Handlebars.registerHelper("sharingMessage", function(person) {
var icon = "circle";
if( person.is_sharing ) {
i18nScope = "people.helper.is_sharing";
- icon = "entypo check";
+ icon = "entypo-check";
}
var title = Diaspora.I18n.t(i18nScope, {name: _.escape(person.name)});
@@ -60,11 +60,8 @@ Handlebars.registerHelper("sharingMessage", function(person) {
// allow hovercards for users that are not the current user.
// returns the html class name used to trigger hovercards.
-Handlebars.registerHelper('hovercardable', function(person) {
- if( app.currentUser.get('guid') !== person.guid ) {
- return 'hovercardable';
- }
- return '';
+Handlebars.registerHelper("hovercardable", function(person) {
+ return app.currentUser.get("guid") === person.guid ? "" : "hovercardable";
});
Handlebars.registerHelper('personImage', function(person, size, imageClass) {
@@ -78,10 +75,11 @@ Handlebars.registerHelper('personImage', function(person, size, imageClass) {
size = ( !_.isString(size) ) ? "small" : size;
imageClass = ( !_.isString(imageClass) ) ? size : imageClass;
- return _.template('')({
- 'src': avatar[size],
- 'img_class': imageClass,
- 'title': _.escape(name)
+ return _.template("
\" class=\"<%= imageClass %>\" " +
+ "title=\"<%= title %>\" alt=\"<%= title %>\" />")({
+ src: avatar[size],
+ imageClass: imageClass + " avatar img-responsive center-block",
+ title: _.escape(name)
});
});
@@ -120,7 +118,7 @@ Handlebars.registerHelper("isCurrentProfilePage", function(id, diasporaHandle, o
Handlebars.registerHelper('aspectMembershipIndicator', function(contact,in_aspect) {
if(!app.aspect || !app.aspect.get('id')) return '