The privacy aware, personally controlled, do-it-all, open source social network.
TL;DR
vendor/bundle/ruby/1.9.1/gems/i18n-0.6.0/lib/i18n/backend/pluralization.rb:37:in `pluralize' | |
vendor/bundle/ruby/1.9.1/gems/i18n-0.6.0/lib/i18n/backend/base.rb:40:in `translate' | |
vendor/bundle/ruby/1.9.1/gems/i18n-inflector-2.6.6/lib/i18n-inflector/backend.rb:74:in `translate' | |
lib/i18n_interpolation_fallbacks.rb:10:in `block in translate' | |
lib/i18n_interpolation_fallbacks.rb:8:in `each' | |
lib/i18n_interpolation_fallbacks.rb:8:in `translate' | |
vendor/bundle/ruby/1.9.1/gems/i18n-0.6.0/lib/i18n/backend/fallbacks.rb:44:in `block (2 levels) in translate' | |
vendor/bundle/ruby/1.9.1/gems/i18n-0.6.0/lib/i18n/backend/fallbacks.rb:43:in `catch' | |
vendor/bundle/ruby/1.9.1/gems/i18n-0.6.0/lib/i18n/backend/fallbacks.rb:43:in `block in translate' | |
vendor/bundle/ruby/1.9.1/gems/i18n-0.6.0/lib/i18n/backend/fallbacks.rb:42:in `each' |
...............................................................................................................................................................................................................................................................................................................................................................................................................................................................F----.................................................................................................................................................................. .................................................................................................................................................................................................P.................................................................................................................................................................................................F--------------------- |
# columns to drop from use | |
# invitation_token, invitation_sent_at, invitation_service, invitation_identifier, invitation_limit | |
#TLDR FLOW | |
# 1. Create LegacyInvitaions Table (migration) | |
# 2. Run this rake? task to create a boatload of data about all invitations in history of the system | |
# 3. Delete all users with nil usernames | |
# 4. Change code to use LegacyInvitations | |
# 5. Purge code of old Invitation model, DROP invitation table, and remove columns from user |
require 'rubygems' | |
require 'openssl' | |
require 'faraday' | |
#a fake user has a keypair and a email like idenitifier which responds | |
# to webfinger for discovery | |
class FakeUser | |
attr_accessor :key, :diaspora_handle | |
def initialize |
# WARNING: THIS MIGRATION REQUIRES SITE DOWNTIME! | |
# | |
# This migration is about moving the 'hidden' bit of a post into the User object. | |
# Doing this will pave the way to allow us to not have to create unnecessary share_visibilties for public posts, greatly reducing DB index size and RAM usage. | |
# The migration which will run is: 20120107220942_move_recently_hidden_posts_to_user.rb | |
# | |
# Since joindiaspora.com (and mostly likely other pods like diasp.org) have a fair amount of hidden posts, this migration happens in two parts | |
# First, in a table locking migration (**YOU MUST BE DOWN**, app servers, websockets, and resque workers to run this migration cleanly), we serialize the first | |
# batch of hidden posts into users. It will take a fair amount per user to do, on jd.com (about 1000 hidden posts per 5 mintues) so the strategy is to serialize the last | |
# two weeks of hidden hidden posts while the tables are locked. |
undefined method `save!' for #<RelayableRetraction:0x7810810> | |
lib/postzord/receiver/public.rb:48:in `save_object' | |
lib/postzord/receiver/public.rb:23:in `perform!' | |
app/models/jobs/receive_unencrypted_salmon.rb:14:in `perform' | |
[GEM_ROOT]/gems/resque-1.10.0/lib/resque/job.rb:146:in `perform' | |
[GEM_ROOT]/gems/resque-timeout-1.0.0/lib/resque/plugins/timeout.rb:25:in `around_perform_with_timeout' | |
/usr/local/rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/timeout.rb:62:in `timeout' | |
[GEM_ROOT]/gems/resque-timeout-1.0.0/lib/resque/plugins/timeout.rb:24:in `around_perform_with_timeout' | |
[GEM_ROOT]/gems/resque-1.10.0/lib/resque/job.rb:145:in `send' |