From 85e12cea93568601a4875a4b26bf3514ecc38dfe Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Sat, 23 Oct 2021 02:45:14 +0200 Subject: [PATCH 1/8] Only parse each nested element name once A child elements should only appear once or it is part of a nested array (photos, poll answers). So each element name only needs to be parsed once, because the way `parse_array_from_node` works is, that it already parses the full array with one call, so calling it multiple times again parses the full array a second time. closes #118 --- lib/diaspora_federation/parsers/xml_parser.rb | 2 +- spec/lib/diaspora_federation/parsers/xml_parser_spec.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/diaspora_federation/parsers/xml_parser.rb b/lib/diaspora_federation/parsers/xml_parser.rb index 2e04418..d8295dc 100644 --- a/lib/diaspora_federation/parsers/xml_parser.rb +++ b/lib/diaspora_federation/parsers/xml_parser.rb @@ -12,7 +12,7 @@ module DiasporaFederation def parse(root_node) from_xml_sanity_validation(root_node) - hash = root_node.element_children.map {|child| + hash = root_node.element_children.uniq(&:name).map {|child| xml_name = child.name property = entity_type.find_property_for_xml_name(xml_name) if property diff --git a/spec/lib/diaspora_federation/parsers/xml_parser_spec.rb b/spec/lib/diaspora_federation/parsers/xml_parser_spec.rb index fdcf4b6..9183314 100644 --- a/spec/lib/diaspora_federation/parsers/xml_parser_spec.rb +++ b/spec/lib/diaspora_federation/parsers/xml_parser_spec.rb @@ -149,6 +149,14 @@ XML expect(parsed[0][:multi].first.to_h).to eq(child_entity2.to_h) expect(parsed[0][:asdf]).to eq("QWERT") end + + it "parses array entities only once" do + expect(Entities::OtherEntity).to receive(:from_xml).twice.and_call_original + + parsed = Parsers::XmlParser.new(Entities::TestNestedEntity).parse(nested_payload) + + expect(parsed[0][:multi]).to have(2).items + end end it "doesn't drop extra properties" do From 0d127702626cc4b2eccc48cc689d3e5029caec52 Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Sat, 23 Oct 2021 17:21:12 +0200 Subject: [PATCH 2/8] Add remote_photo_path to AccountMigration entity This can be set to the URL on the new pod when photos were migrated/imported, so other pods can adjust the `remote_photo_path` of the photos of the old account. --- docs/_entities/account_migration.md | 9 ++++-- .../entities/account_migration.rb | 5 ++++ lib/diaspora_federation/test/factories.rb | 1 + .../validators/account_migration_validator.rb | 2 ++ .../entities/account_migration_spec.rb | 29 +++++++++++++++++++ .../account_migration_validator_spec.rb | 11 +++++++ 6 files changed, 54 insertions(+), 3 deletions(-) diff --git a/docs/_entities/account_migration.md b/docs/_entities/account_migration.md index a418c4c..7c61aab 100644 --- a/docs/_entities/account_migration.md +++ b/docs/_entities/account_migration.md @@ -14,9 +14,10 @@ This entity is sent when a person changes their diaspora* ID (e.g. when a user m ## Optional Properties -| Property | Type | Description | -| ----------- | ---------------------------- | ------------------------------------------------------------------------------------ | -| `old_identity` | [diaspora\* ID][diaspora-id] | The diaspora\* ID of the closed account. This field is mandatory if the author of the entity is the new identity. | +| Property | Type | Description | +| ------------------- | ---------------------------- | ------------------------------------------------------------------------------------ | +| `old_identity` | [diaspora\* ID][diaspora-id] | The diaspora\* ID of the closed account. This field is mandatory if the author of the entity is the new identity. | +| `remote_photo_path` | [URL][url] | The URL to the path (without filenames) of the migrated photos on the new pod. | ### Signature @@ -59,9 +60,11 @@ AccountMigration:old-diaspora-id@example.org:new-diaspora-id@example.com 07b1OIY6sTUQwV5pbpgFK0uz6W4cu+oQnlg410Q4uISUOdNOlBdYqhZJm62VFhgvzt4TZXfiJgoupFkRjP0BsaVaZuP2zKMNvO3ngWOeJRf2oRK4Ub5cEA/g7yijkRc+7y8r1iLJ31MFb1czyeCsLxw9Ol8SvAJddogGiLHDhjE= alice@example.org + https://newpod.example.net/uploads/images/ ~~~ [diaspora-id]: {{ site.baseurl }}/federation/types.html#diaspora-id [profile]: {{ site.baseurl }}/entities/profile.html [signature]: {{ site.baseurl }}/federation/types.html#signature +[url]: {{ site.baseurl }}/federation/types.html#url diff --git a/lib/diaspora_federation/entities/account_migration.rb b/lib/diaspora_federation/entities/account_migration.rb index 82deed3..dc959b9 100644 --- a/lib/diaspora_federation/entities/account_migration.rb +++ b/lib/diaspora_federation/entities/account_migration.rb @@ -33,6 +33,11 @@ module DiasporaFederation # @return [String] old identity property :old_identity, :string, default: nil + # @!attribute [r] remote_photo_path + # The url to the path of the photos on the new pod. Can be empty if photos weren't migrated. + # @return [String] remote photo path + property :remote_photo_path, :string, optional: true + # Returns diaspora* ID of the old person identity. # @return [String] diaspora* ID of the old person identity def old_identity diff --git a/lib/diaspora_federation/test/factories.rb b/lib/diaspora_federation/test/factories.rb index 38e8d99..f39aed9 100644 --- a/lib/diaspora_federation/test/factories.rb +++ b/lib/diaspora_federation/test/factories.rb @@ -43,6 +43,7 @@ module DiasporaFederation author { Fabricate.sequence(:diaspora_id) } profile {|attrs| Fabricate(:profile_entity, author: attrs[:author]) } old_identity { Fabricate.sequence(:diaspora_id) } + remote_photo_path "https://diaspora.example.tld/uploads/images/" end Fabricator(:person_entity, class_name: DiasporaFederation::Entities::Person) do diff --git a/lib/diaspora_federation/validators/account_migration_validator.rb b/lib/diaspora_federation/validators/account_migration_validator.rb index 36c38be..aab6efa 100644 --- a/lib/diaspora_federation/validators/account_migration_validator.rb +++ b/lib/diaspora_federation/validators/account_migration_validator.rb @@ -9,6 +9,8 @@ module DiasporaFederation rule :profile, :not_nil rule :old_identity, :diaspora_id + + rule :remote_photo_path, URI: [:path] end end end diff --git a/spec/lib/diaspora_federation/entities/account_migration_spec.rb b/spec/lib/diaspora_federation/entities/account_migration_spec.rb index 37852df..4145aa7 100644 --- a/spec/lib/diaspora_federation/entities/account_migration_spec.rb +++ b/spec/lib/diaspora_federation/entities/account_migration_spec.rb @@ -10,6 +10,7 @@ module DiasporaFederation properties = described_class.new(hash).send(:enriched_properties) hash[:signature] = properties[:signature] hash[:profile] = Entities::Profile.new(hash[:profile].to_h.tap {|profile| profile[:edited_at] = nil }) + hash[:remote_photo_path] = "http://localhost:3000/uploads/images/" } } let(:signature_data) { "AccountMigration:#{old_diaspora_id}:#{new_diaspora_id}" } @@ -126,6 +127,7 @@ module DiasporaFederation #{data[:signature]} #{data[:old_identity]} + #{data[:remote_photo_path]} XML @@ -165,6 +167,7 @@ XML #{data[:signature]} #{data[:old_identity]} + #{data[:remote_photo_path]} XML @@ -217,5 +220,31 @@ XML }.to raise_error Entity::ValidationError end end + + context "optional values" do + let(:hash) { + { + author: old_diaspora_id, + profile: Entities::Profile.new(author: new_diaspora_id) + } + } + + it "uses default values when parsing" do + minimal_xml = <<-XML + + #{data[:author]} + + #{data[:profile].author} + + #{data[:signature]} + +XML + + parsed_xml = Nokogiri::XML(minimal_xml).root + parsed_instance = Entity.entity_class(parsed_xml.name).from_xml(parsed_xml) + expect(parsed_instance.old_identity).to eq(data[:author]) + expect(parsed_instance.remote_photo_path).to be_nil + end + end end end diff --git a/spec/lib/diaspora_federation/validators/account_migration_validator_spec.rb b/spec/lib/diaspora_federation/validators/account_migration_validator_spec.rb index e8c4ea5..5a21efd 100644 --- a/spec/lib/diaspora_federation/validators/account_migration_validator_spec.rb +++ b/spec/lib/diaspora_federation/validators/account_migration_validator_spec.rb @@ -21,5 +21,16 @@ module DiasporaFederation let(:property) { :old_identity } end end + + describe "#remote_photo_path" do + let(:property) { :remote_photo_path } + + it_behaves_like "a property with a value validation/restriction" do + let(:wrong_values) { [] } + let(:correct_values) { [nil] } + end + + it_behaves_like "a url path validator" + end end end From 78ee282c9c53962222e231b88235dc568c2371e4 Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Sat, 23 Oct 2021 17:22:51 +0200 Subject: [PATCH 3/8] Fix profile property in documentation of AccountMigration entity --- docs/_entities/account_migration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_entities/account_migration.md b/docs/_entities/account_migration.md index 7c61aab..f51b43d 100644 --- a/docs/_entities/account_migration.md +++ b/docs/_entities/account_migration.md @@ -9,7 +9,7 @@ This entity is sent when a person changes their diaspora* ID (e.g. when a user m | Property | Type | Description | | ----------- | ---------------------------- | ------------------------------------------------------------------------------------ | | `author` | [diaspora\* ID][diaspora-id] | The diaspora\* ID of the sender of the entity. The entity may be sent by either old user identity or new user identity. | -| `person` | [Profile][profile] | New profile of a person. | +| `profile` | [Profile][profile] | New profile of a person. | | `signature` | [Signature][signature] | Signature that validates original and target diaspora* IDs with the private key of the second identity, other than the entity author. So if the author is the old identity then this signature is made with the new identity key, and vice versa. | ## Optional Properties From 25b5b8d8881c9c63938365d84cd6fb45fc26c1a3 Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Sat, 23 Oct 2021 17:46:48 +0200 Subject: [PATCH 4/8] Add test for optional old_identity on AccountMigration --- .../entities/account_migration_spec.rb | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/spec/lib/diaspora_federation/entities/account_migration_spec.rb b/spec/lib/diaspora_federation/entities/account_migration_spec.rb index 4145aa7..1910234 100644 --- a/spec/lib/diaspora_federation/entities/account_migration_spec.rb +++ b/spec/lib/diaspora_federation/entities/account_migration_spec.rb @@ -6,11 +6,11 @@ module DiasporaFederation let(:new_diaspora_id) { new_user.diaspora_id } let(:data) { - hash.tap {|hash| + hash.dup.tap {|data| properties = described_class.new(hash).send(:enriched_properties) - hash[:signature] = properties[:signature] - hash[:profile] = Entities::Profile.new(hash[:profile].to_h.tap {|profile| profile[:edited_at] = nil }) - hash[:remote_photo_path] = "http://localhost:3000/uploads/images/" + data[:signature] = properties[:signature] + data[:profile] = Entities::Profile.new(hash[:profile].to_h.tap {|profile| profile[:edited_at] = nil }) + data[:remote_photo_path] = "http://localhost:3000/uploads/images/" } } let(:signature_data) { "AccountMigration:#{old_diaspora_id}:#{new_diaspora_id}" } @@ -245,6 +245,25 @@ XML expect(parsed_instance.old_identity).to eq(data[:author]) expect(parsed_instance.remote_photo_path).to be_nil end + + it "adds old_identity when author is the old identity" do + expected_xml = <<-XML + + #{data[:author]} + + #{data[:profile].author} + true + false + false + + #{data[:signature]} + #{data[:author]} + +XML + + entity = Entities::AccountMigration.new(hash) + expect(entity.to_xml.to_s.strip).to eq(expected_xml.strip) + end end end end From d84d68d0666965ae9b1a01a7841a49c29ab5ffa4 Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Sat, 23 Oct 2021 17:52:39 +0200 Subject: [PATCH 5/8] Validate that remote_photo_path on Photo entity is an URL with path closes #119 --- .../validators/photo_validator.rb | 2 +- .../validators/photo_validator_spec.rb | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/diaspora_federation/validators/photo_validator.rb b/lib/diaspora_federation/validators/photo_validator.rb index 7c18107..f6f08d3 100644 --- a/lib/diaspora_federation/validators/photo_validator.rb +++ b/lib/diaspora_federation/validators/photo_validator.rb @@ -10,7 +10,7 @@ module DiasporaFederation rule :public, :boolean - rule :remote_photo_path, :not_empty + rule :remote_photo_path, [:not_empty, URI: [:path]] rule :remote_photo_name, :not_empty diff --git a/spec/lib/diaspora_federation/validators/photo_validator_spec.rb b/spec/lib/diaspora_federation/validators/photo_validator_spec.rb index 342ebac..7cc3e16 100644 --- a/spec/lib/diaspora_federation/validators/photo_validator_spec.rb +++ b/spec/lib/diaspora_federation/validators/photo_validator_spec.rb @@ -24,11 +24,17 @@ module DiasporaFederation let(:property) { :public } end - %i[remote_photo_name remote_photo_path].each do |prop| - describe "##{prop}" do - it_behaves_like "a property that mustn't be empty" do - let(:property) { prop } - end + describe "#remote_photo_path" do + let(:property) { :remote_photo_path } + + it_behaves_like "a property that mustn't be empty" + + it_behaves_like "a url path validator" + end + + describe "#remote_photo_name" do + it_behaves_like "a property that mustn't be empty" do + let(:property) { :remote_photo_name } end end From 778ed513168b64940d497991bcb578605e1434e3 Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Wed, 9 Sep 2020 02:22:21 +0200 Subject: [PATCH 6/8] Drop spring Same as in https://github.com/diaspora/diaspora/pull/8133 --- Gemfile | 5 ----- Gemfile.lock | 10 ---------- bin/rails | 6 ------ bin/rake | 6 ------ bin/rspec | 6 ------ bin/spring | 17 ----------------- config/spring.rb | 6 ------ 7 files changed, 56 deletions(-) delete mode 100755 bin/spring delete mode 100644 config/spring.rb diff --git a/Gemfile b/Gemfile index 0897dae..431c270 100644 --- a/Gemfile +++ b/Gemfile @@ -25,11 +25,6 @@ group :development do gem "guard-rspec", require: false gem "guard-rubocop", require: false - # preloading environment - gem "spring" - gem "spring-commands-rspec" - gem "spring-watcher-listen" - # debugging gem "pry" gem "pry-byebug" diff --git a/Gemfile.lock b/Gemfile.lock index 2f4cf69..1a9b0e4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -211,13 +211,6 @@ GEM simplecov-html (0.10.2) simplecov-rcov (0.2.3) simplecov (>= 0.4.1) - spring (2.0.2) - activesupport (>= 4.2) - spring-commands-rspec (1.0.4) - spring (>= 0.9.1) - spring-watcher-listen (2.0.1) - listen (>= 2.7, < 4.0) - spring (>= 1.2, < 3.0) systemu (2.6.5) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) @@ -262,9 +255,6 @@ DEPENDENCIES rubocop (= 0.57.2) simplecov (= 0.16.1) simplecov-rcov (= 0.2.3) - spring - spring-commands-rspec - spring-watcher-listen webmock (~> 3.0) yard diff --git a/bin/rails b/bin/rails index ef53508..4595731 100755 --- a/bin/rails +++ b/bin/rails @@ -1,12 +1,6 @@ #!/usr/bin/env ruby # This command will automatically be run when you run "rails" with Rails 4 gems installed from the root of your application. -begin - load File.expand_path('../spring', __FILE__) -rescue LoadError => e - raise unless e.message.include?('spring') -end - ENGINE_ROOT = File.expand_path('../..', __FILE__) ENGINE_PATH = File.expand_path('../../lib/diaspora_federation/engine', __FILE__) diff --git a/bin/rake b/bin/rake index c2ffc27..486010f 100755 --- a/bin/rake +++ b/bin/rake @@ -7,12 +7,6 @@ # this file is here to facilitate running it. # -begin - load File.expand_path('../spring', __FILE__) -rescue LoadError => e - raise unless e.message.include?('spring') -end - require "pathname" ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", Pathname.new(__FILE__).realpath) diff --git a/bin/rspec b/bin/rspec index 5f7d9af..d738b23 100755 --- a/bin/rspec +++ b/bin/rspec @@ -7,12 +7,6 @@ # this file is here to facilitate running it. # -begin - load File.expand_path('../spring', __FILE__) -rescue LoadError => e - raise unless e.message.include?('spring') -end - require "pathname" ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", Pathname.new(__FILE__).realpath) diff --git a/bin/spring b/bin/spring deleted file mode 100755 index fb2ec2e..0000000 --- a/bin/spring +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env ruby - -# This file loads spring without using Bundler, in order to be fast. -# It gets overwritten when you run the `spring binstub` command. - -unless defined?(Spring) - require 'rubygems' - require 'bundler' - - lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read) - spring = lockfile.specs.detect { |spec| spec.name == "spring" } - if spring - Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path - gem 'spring', spring.version - require 'spring/binstub' - end -end diff --git a/config/spring.rb b/config/spring.rb deleted file mode 100644 index d8a7f92..0000000 --- a/config/spring.rb +++ /dev/null @@ -1,6 +0,0 @@ -Spring.application_root = "./test/dummy" - -root_path = Pathname.new(File.expand_path(".")) -Spring.watcher = Spring::Watcher::Listen.new(root_path, 0.2) - -Spring.watch("./lib/") From f9d522c69964628927197d056e2a144a9f0c0c43 Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Sun, 24 Oct 2021 20:46:04 +0200 Subject: [PATCH 7/8] Bump faraday to latest non 1.x version --- Gemfile.lock | 12 ++++++------ diaspora_federation.gemspec | 4 ++-- test/gemfiles/no-rails.Gemfile.lock | 12 ++++++------ test/gemfiles/rails4.Gemfile.lock | 12 ++++++------ 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1a9b0e4..7c0283b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,8 +2,8 @@ PATH remote: . specs: diaspora_federation (0.2.6) - faraday (>= 0.9.0, < 0.16.0) - faraday_middleware (>= 0.10.0, < 0.14.0) + faraday (>= 0.9.0, < 1.0) + faraday_middleware (>= 0.10.0, < 1.0) nokogiri (~> 1.6, >= 1.6.8) typhoeus (~> 1.0) valid (~> 1.0) @@ -53,9 +53,9 @@ GEM ethon (0.12.0) ffi (>= 1.3.0) fabrication (2.20.1) - faraday (0.15.4) + faraday (0.17.4) multipart-post (>= 1.2, < 3) - faraday_middleware (0.13.1) + faraday_middleware (0.14.0) faraday (>= 0.7.4, < 1.0) ffi (1.10.0) formatador (0.2.5) @@ -112,7 +112,7 @@ GEM mini_portile2 (2.4.0) minitest (5.11.3) multi_xml (0.6.0) - multipart-post (2.0.0) + multipart-post (2.1.1) nenv (0.3.0) nokogiri (1.9.1) mini_portile2 (~> 2.4.0) @@ -216,7 +216,7 @@ GEM unicode-display_width (~> 1.1, >= 1.1.1) thor (0.19.4) thread_safe (0.3.6) - typhoeus (1.3.1) + typhoeus (1.4.0) ethon (>= 0.9.0) tzinfo (1.2.5) thread_safe (~> 0.1) diff --git a/diaspora_federation.gemspec b/diaspora_federation.gemspec index 447d0bb..489e5cf 100644 --- a/diaspora_federation.gemspec +++ b/diaspora_federation.gemspec @@ -24,8 +24,8 @@ Gem::Specification.new do |s| s.required_ruby_version = "~> 2.1" - s.add_dependency "faraday", ">= 0.9.0", "< 0.16.0" - s.add_dependency "faraday_middleware", ">= 0.10.0", "< 0.14.0" + s.add_dependency "faraday", ">= 0.9.0", "< 1.0" + s.add_dependency "faraday_middleware", ">= 0.10.0", "< 1.0" s.add_dependency "nokogiri", "~> 1.6", ">= 1.6.8" s.add_dependency "typhoeus", "~> 1.0" s.add_dependency "valid", "~> 1.0" diff --git a/test/gemfiles/no-rails.Gemfile.lock b/test/gemfiles/no-rails.Gemfile.lock index 79926f1..dd0c15c 100644 --- a/test/gemfiles/no-rails.Gemfile.lock +++ b/test/gemfiles/no-rails.Gemfile.lock @@ -2,8 +2,8 @@ PATH remote: ../.. specs: diaspora_federation (0.2.6) - faraday (>= 0.9.0, < 0.16.0) - faraday_middleware (>= 0.10.0, < 0.14.0) + faraday (>= 0.9.0, < 1.0) + faraday_middleware (>= 0.10.0, < 1.0) nokogiri (~> 1.6, >= 1.6.8) typhoeus (~> 1.0) valid (~> 1.0) @@ -25,9 +25,9 @@ GEM ethon (0.12.0) ffi (>= 1.3.0) fabrication (2.16.3) - faraday (0.15.4) + faraday (0.17.4) multipart-post (>= 1.2, < 3) - faraday_middleware (0.13.1) + faraday_middleware (0.14.0) faraday (>= 0.7.4, < 1.0) ffi (1.10.0) fuubar (2.3.2) @@ -43,7 +43,7 @@ GEM macaddr (1.7.1) systemu (~> 2.6.2) mini_portile2 (2.4.0) - multipart-post (2.0.0) + multipart-post (2.1.1) nokogiri (1.9.1) mini_portile2 (~> 2.4.0) nyan-cat-formatter (0.12.0) @@ -76,7 +76,7 @@ GEM simplecov-rcov (0.2.3) simplecov (>= 0.4.1) systemu (2.6.5) - typhoeus (1.3.1) + typhoeus (1.4.0) ethon (>= 0.9.0) uuid (2.3.9) macaddr (~> 1.0) diff --git a/test/gemfiles/rails4.Gemfile.lock b/test/gemfiles/rails4.Gemfile.lock index 917f535..80d9e2b 100644 --- a/test/gemfiles/rails4.Gemfile.lock +++ b/test/gemfiles/rails4.Gemfile.lock @@ -2,8 +2,8 @@ PATH remote: ../.. specs: diaspora_federation (0.2.6) - faraday (>= 0.9.0, < 0.16.0) - faraday_middleware (>= 0.10.0, < 0.14.0) + faraday (>= 0.9.0, < 1.0) + faraday_middleware (>= 0.10.0, < 1.0) nokogiri (~> 1.6, >= 1.6.8) typhoeus (~> 1.0) valid (~> 1.0) @@ -50,9 +50,9 @@ GEM ethon (0.12.0) ffi (>= 1.3.0) fabrication (2.16.3) - faraday (0.15.4) + faraday (0.17.4) multipart-post (>= 1.2, < 3) - faraday_middleware (0.13.1) + faraday_middleware (0.14.0) faraday (>= 0.7.4, < 1.0) ffi (1.10.0) fuubar (2.3.2) @@ -74,7 +74,7 @@ GEM systemu (~> 2.6.2) mini_portile2 (2.4.0) minitest (5.11.3) - multipart-post (2.0.0) + multipart-post (2.1.1) nokogiri (1.9.1) mini_portile2 (~> 2.4.0) nyan-cat-formatter (0.12.0) @@ -133,7 +133,7 @@ GEM systemu (2.6.5) thor (0.20.3) thread_safe (0.3.6) - typhoeus (1.3.1) + typhoeus (1.4.0) ethon (>= 0.9.0) tzinfo (1.2.5) thread_safe (~> 0.1) From 4d5d9f419470e9e03693791a7f72ecd1605e0d2c Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Sun, 24 Oct 2021 20:20:17 +0200 Subject: [PATCH 8/8] Release version 0.2.7 --- Changelog.md | 10 ++++++++++ Gemfile.lock | 12 ++++++------ lib/diaspora_federation/version.rb | 2 +- test/gemfiles/no-rails.Gemfile.lock | 8 ++++---- test/gemfiles/rails4.Gemfile.lock | 12 ++++++------ 5 files changed, 27 insertions(+), 17 deletions(-) diff --git a/Changelog.md b/Changelog.md index 150c736..5327e8e 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,13 @@ +# 0.2.7 + +## Features + +* Add `remote_photo_path` to `AccountMigration` entity [#119](https://github.com/diaspora/diaspora_federation/pull/119) + +## Bug fixes + +* Only parse each nested element name once from the XML [#118](https://github.com/diaspora/diaspora_federation/pull/118) + # 0.2.6 ## Bug fixes diff --git a/Gemfile.lock b/Gemfile.lock index 7c0283b..8255c4e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,18 +1,18 @@ PATH remote: . specs: - diaspora_federation (0.2.6) + diaspora_federation (0.2.7) faraday (>= 0.9.0, < 1.0) faraday_middleware (>= 0.10.0, < 1.0) nokogiri (~> 1.6, >= 1.6.8) typhoeus (~> 1.0) valid (~> 1.0) - diaspora_federation-json_schema (0.2.6) - diaspora_federation-rails (0.2.6) + diaspora_federation-json_schema (0.2.7) + diaspora_federation-rails (0.2.7) actionpack (>= 4.2, < 6) - diaspora_federation (= 0.2.6) - diaspora_federation-test (0.2.6) - diaspora_federation (= 0.2.6) + diaspora_federation (= 0.2.7) + diaspora_federation-test (0.2.7) + diaspora_federation (= 0.2.7) fabrication (~> 2.16) uuid (~> 2.3, >= 2.3.8) diff --git a/lib/diaspora_federation/version.rb b/lib/diaspora_federation/version.rb index 1255d74..2700e7e 100644 --- a/lib/diaspora_federation/version.rb +++ b/lib/diaspora_federation/version.rb @@ -1,4 +1,4 @@ module DiasporaFederation # the gem version - VERSION = "0.2.6".freeze + VERSION = "0.2.7".freeze end diff --git a/test/gemfiles/no-rails.Gemfile.lock b/test/gemfiles/no-rails.Gemfile.lock index dd0c15c..a7c81a4 100644 --- a/test/gemfiles/no-rails.Gemfile.lock +++ b/test/gemfiles/no-rails.Gemfile.lock @@ -1,15 +1,15 @@ PATH remote: ../.. specs: - diaspora_federation (0.2.6) + diaspora_federation (0.2.7) faraday (>= 0.9.0, < 1.0) faraday_middleware (>= 0.10.0, < 1.0) nokogiri (~> 1.6, >= 1.6.8) typhoeus (~> 1.0) valid (~> 1.0) - diaspora_federation-json_schema (0.2.6) - diaspora_federation-test (0.2.6) - diaspora_federation (= 0.2.6) + diaspora_federation-json_schema (0.2.7) + diaspora_federation-test (0.2.7) + diaspora_federation (= 0.2.7) fabrication (~> 2.16) uuid (~> 2.3, >= 2.3.8) diff --git a/test/gemfiles/rails4.Gemfile.lock b/test/gemfiles/rails4.Gemfile.lock index 80d9e2b..d18fd20 100644 --- a/test/gemfiles/rails4.Gemfile.lock +++ b/test/gemfiles/rails4.Gemfile.lock @@ -1,18 +1,18 @@ PATH remote: ../.. specs: - diaspora_federation (0.2.6) + diaspora_federation (0.2.7) faraday (>= 0.9.0, < 1.0) faraday_middleware (>= 0.10.0, < 1.0) nokogiri (~> 1.6, >= 1.6.8) typhoeus (~> 1.0) valid (~> 1.0) - diaspora_federation-json_schema (0.2.6) - diaspora_federation-rails (0.2.6) + diaspora_federation-json_schema (0.2.7) + diaspora_federation-rails (0.2.7) actionpack (>= 4.2, < 6) - diaspora_federation (= 0.2.6) - diaspora_federation-test (0.2.6) - diaspora_federation (= 0.2.6) + diaspora_federation (= 0.2.7) + diaspora_federation-test (0.2.7) + diaspora_federation (= 0.2.7) fabrication (~> 2.16) uuid (~> 2.3, >= 2.3.8)