add tooltips in the frontend
fix a JS problem with empty hostname
use `find_in_batches` correctly
add a migration to clean up the pods table + unique index on hostname
* add a class for checking pod connectivity
* extend pod model to handle new functionality
* add an admin frontend to list pods and re-trigger checks manually
* add a daily worker to run through all the pods
* add unit tests for most of the new code
This adds a new boolean field "public_details" to person model.
By default it is false and represents old behaviour. When it is
set to true, extended profile (bio,location,gender,birthday)
get available to people who didn't log into diaspora and to
people you don't share with (i.e. it is made public).
In UI, a bootstrap-switch added on the profile-edit page in order to
change the setting.
This also changes wording from public/private profile to basic/extended.
The latter could be public and limited.
Add #clear_account! disable mail spec
Add migration for disabling mail for all closed accounts
Change migration to use #update_all for disable_mail attribute
Add #clear_account! false fields spec
Conversation recipient validated
- Conversation foreign recipient not required to be validated.
- Added 'peter' as spec_helper user.
- New fixture, new statistic values.
- Clearer identifier names
opengraph_parser is basically unmainted, issues are ignored
or deliberately closed without fixing. It pollutes the global
namespace and has no verification of correctness.
The opengraph gem has basically the same issues, not really maintained,
unreleased patches on master since over a year, not really smart either.
So I created my own version and while at it, why not strive try to be
complete and robust, although it's still a work in progress.
This also improves general URL detection by parsing them
from the message after stripping markdown.
An additional dependency was added to support
fetching sites that require cookies to work at all.
For the same reason Faraday's default redirect limit was
bumped.
Add Sidetiq webview to the Sidekiq monitoring panel
Add rake task maintenance:queue_users_for_removal
This basically just triggers an immediate run of the normal maintenance remove old users functionality that is normally (if enabled) scheduled to run once a day via sidetiq
Add extra safety when checking for user removal due to inactivity.
Now also user.last_seen will also be checked to make sure a user will not be removed in the event that the Devise rememember me login functionality has stopped the users remove_after timestamp from being removed.
Add initializer for maintenance job.
Add warning about mail being disabled if remove_old_users maintenance is enabled.
* Extract post fetching logic from Reshare into
its own module
* raise proper error message when fetching fails
* raise proper error message when parent is still missing
We can't skip fetch failures or missing parents and
still need to retry them in case we're sent the parent
later on
Rails 4 seem to allow setting the id through supplied parameters
The controllers ported to strong_parameters should guard against
attacks over this vector, but I didn't want to remove the specs
that test this here
* Wrap it into a transaction
* Use destroy over delete so dependent destroys get triggered
and we thus don't fail on the foreign key constraits
* Check if a photos status message actually exists before accessing
it
* Add missing dependent destroys
* join the conditions of the inner ifs
* add a uniqueness constraint to the model
* differentiate between author is a local or a remote user
* simplify controller/mailer functions
This new class replaces all existing server side message
rendering helpers and is the new global entry point for such
needs. All models with relevant fields now expose an instance
of MessageRenderer for those. MessageRenderer acts as
gateway between the existing processing solutions for markdown,
mentions and tags and provides a very flexible interface for
all output needs. This makes the API to obtain a message
in a certain format clear. As a result of centralizing the
processing a lot of duplication is eliminated. Centralizing
the message processing also makes it clear where to change
its behaviour, add new representations and what options
are already available.
Adds a timestamp to user model which is touched when user comes back. Statistics active users counts now use these more reliable timestamps. Fixes#4734
You can report a single post by clicking the correct icon in the controler section
Workflow:
* Report a post as offensive
* Trigger alerts to every pod-admin
* Pod-admin can review it in the admin interface
* Delete the post or mark it as reviewed
for cross-posting to OAuth-enabled Wordpress.com or Jetpack-enabled Wordpress.org blogs.
Added model for Wordpress service
Added very very basic Wordpress cross-posting functionality.
Added markdown support to post body
Fixed Wordpress::MAX_CHARACTERS problem
cleanup
Added default settings for Wordpress OAuth
Added default settings for Wordpress OAuth
Added Wordpress to configured services spec.
changelog changes
markdown link to their profile (fixes#2516)
add failing spec for #4160 / #2516
extend the spec a bit more
refactor mention handling in a status message
add method for filtering mentions by aspects
wire mention filtering into the status message model, adapt a few tests to
work properly
cosmetic changes
shorten helper methods
add changelog entry
* Get rid of early pathname requirement
* Use require_relative where approciate
* Drop unused files
* Imported new application.rb, environment.rb and environments/* from fresh Rails app
* Cleaned up boot.rb
* Load config in boot.rb
* Deduplicate environments/integration*.rb
* Move username blacklist into defaults.yml
* Ruby 1.9 Hash syntax everywhere
* Reorganize lib/diaspora/markdownify to match conventions
* Get rid of full path requires where possible
* Add dummy content to production section diaspora.yml.example to prevent warning
* Drop sqlite? method
* Move postgres? method into ConfigurationMethods
* Drop token authentication from User
added marker image for publisher, showing div for address, and added
functionality to close it when clicking 'X' image
showing marker image in publisher
renamed map-marker to locator
fixed style for map marker image in publisher
added locator.js to get user's location
loading google maps api
removed unecessary append and showing location next to publisher
moved location address inside div and added image to close location
styled div location address an image to close location
removing location when clicking close image
cleaned code
cleaned code
showing loader while location is being obtained, translated normal js to
backbone structure, created locations db stuff, and removing location
div when clicking 'share'
refactored code; started to move code to backbone
refactored js code; moving functionality to backbone structure
created address function to make accessible address variable value
refactored locator.js
showing and removing location div from dom
created location; it belongs_to status_message
added location model and created association with status_message
added hidden field for location address and added respective code on js files to retrieve it on ajax call
saving location for status_message (post)
removing location when sharing
renamed locator backbone view to location, added template, showing
location, and saving lat and lng
prepared and added template to show location
added location to post model in order to have it accessible in backbone
retrieving location to show it in template
removed console.log XD
fixes when removing location
cleanind location_address hidden field when location is removed
more fixes; showing location when sharing
saving location just when it exists
created method to retrieve location address just when location was created
fixed issue about showing 'Near from' message when there was not any location
added style for location
cleaned code
renamed locator view
retrieving lat and lng from locator.js
saving lat and lng in location_coords
saving lat and lng
added style for input location_address
removed location_address hidden field; the value will be taken directly from input with the location
replaced div with location for input; the user will be able to edit the place
avoiding submitting the form when pressing Enter key on new input for location
added missed spec file for location model
refactored location_view code
refactored location_view code
cleaned code
added sinon library for testing
added describes for new publisher's view functions
created test for destroyLocation function
added test for showLocation publisher view function
created test for avoidEnter publisher view function
removed unnecessary div
Created first test for locations view, added more specs, added Sinon.js,
and fixed issue with assets
loading locator.js for tests
moved location stuff to app/assets
moved locator.js and sinon.js to app/assets
fixed route for images
included locator.js to assets
fixed issue when post object is different than StatusMessage; also fixed issue with lat and lng
loading Sinon for specs
refactoring locator errorGettingposition and start replacing google maps stuff with OSM
added OpenLayers JS, osmlocator, and added them into the main js
changing the locator from Google to OSM instance
changing lat and lng value in the backbone view
removing google javascript tag in application layout
adding jasmine to locator test and removed locator.js
adding jasmine to locator test using OSM
adding Jasmine test to OSM locator
removed locator.js
removed require locator and updated schema
fixed js response; added location
since we are using OSM Locator we don't need locator-spec test
fixed spec for location view; we are not using google maps anymore
changed description of osmlocator-spec
fixed issue with status-message-location template
fixed style for location_address textbox
fixed tests for locator
moved split function to model
created test for location model
removed puts
added effect for location marker
added translations for locator
removed conflicting-unnecessary lines that were loading files for specs
removed sinon library; using sinon-rails gem
removed useless code
removed puts; added Rails.logger.error
added sinon.js file
added specific version of sinon-rails gem
improving validations sintax
using openlayers-rails gem
removed 'google API' text
using sinon gem
isolating LocationStream view
refactored validation
getting location when post is a Reshare
refactored code
fixed aligment for elements under location message
improved styling for location message
refactored begin-rescue block
getting absolute root instead of just the root
added address method to retrive address of location
removed code from Post model; also added descriptinon why it was removed
removed validation when retrieving address; with latest refactorizations we dont need them any more
interpolated location; using file in locales
fixed width for div of location
moved Sinon gem into development and test group
fixed method's description
added missed indexes
updated schema with locations table
removed openlayers-rails gem
preventing location to be saved if there are not coordinates
fixed spec; wrong closing tag
* Dropped all references to Resque
* Moved all jobs under app/workers since that's the Sidekiq convention
* Renamed Jobs module to Worker to match new location
* Adapted all jobs to Sidekiq
* Replaced all enqueue calls with perform_async
* Dropped Resque hacks from specs and features, replaced with
sidekig/testing in RSpec and sidekig/testing/inline in Cucumber
* Updated scripts to start a Sidekiq server
* Inline Sidekiq sinatra app
* Let Sidekiq create the actual Redis instance
* Workaround already initialized constant warnings in service models
* Resolved ToDo in one job definition by creating proper exception clases
for some errors in receiving posts
* Added sidekiq section to configuration to make it completly
configurable to the user
* Add Sidekiq middleware for clean backtraces
* Delay HttpMulti retry to give offline pods a chance to come back up
* Do not retry on GUID already taken and alike errors
* Be graceful about deleted posts in GatherOEmbedData
* Rename and reorganize post fetcher to fix autoloading, also let it use
Faradays default connection so we get nice redirects
* Add initializer to load libs at a central place
* added lib dir to autoload_once paths to increase thread safety
* Moved lib/exceptions.rb to lib/diaspora/ to conform namespacing
* initial backbone port
* changed AspectMembershipsController#destroy to use aspect_membership_id
* included rudimentary jasmine specs
* more specs, updating the list elements after de-/selection
* update selected aspect count on button
* don't even try to render html in AspectMembershipsController
* more specs for button summary text
* adapt aspect management on contacts page and in the popup boxes
* adapt inline creation of aspects + memberships
TODO
* more tests