Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase upstream #3

Closed
wants to merge 120 commits into from
Closed

Rebase upstream #3

wants to merge 120 commits into from

Conversation

kirbycool
Copy link

@kirbycool kirbycool commented Aug 2, 2024

We need the new FCM api changes from here rpush#660

benlangfeld and others added 30 commits October 1, 2020 08:52
Fix APNS2 documentation in README
point out that the bundle id does not have to be transferred with every
notification when it's set on the application level.
Fix more Rails 6.1 deprecation warnings
These specs are failing because:

* APNS v1 imposes a validation payload size limit of 2kb. On APNS2 and
APNSp8, the payload limit increases to 4kb (any APNS notification
delivered via http/2 has a payload limit of 4kb).
* When using APNSp8, Rpush is validating the notification payload size
based on APNS v1 size limits (2kb), rather than APNS v2 size limits (4kb).

https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html

```
Failures:

  1) Rpush::Client::ActiveRecord::Apnsp8::Notification should validate the length of the binary conversion of the notification
     Got 3 failures:

     1.1) Failure/Error: expect(notification.valid?).to be_truthy

            expected: truthy value
                 got: false
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:49:in `call'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-support-3.4.1/lib/rspec/support.rb:96:in `notify_failure'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/fail_with.rb:27:in `fail_with'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:40:in `handle_failure'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:27:in `with_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/expectation_target.rb:54:in `to'
          # ./spec/unit/client/active_record/apnsp8/notification_spec.rb:17:in `block (2 levels) in <top (required)>'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:236:in `instance_exec'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:236:in `block in run'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:478:in `block in with_around_and_singleton_context_hooks'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:435:in `block in with_around_example_hooks'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb:478:in `block in run'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb:618:in `block in run_around_example_hooks_for'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:320:in `call'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:10:in `block in aggregate'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-support-3.4.1/lib/rspec/support.rb:103:in `with_failure_notifier'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:8:in `aggregate'

     1.2) Failure/Error: expect(notification.errors[:base]).to be_empty
            expected `["APN notification cannot be larger than 2048 bytes. Try condensing your alert and device attributes."].empty?` to return true, got false
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:49:in `call'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-support-3.4.1/lib/rspec/support.rb:96:in `notify_failure'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/fail_with.rb:27:in `fail_with'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:40:in `handle_failure'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:27:in `with_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/expectation_target.rb:54:in `to'
          # ./spec/unit/client/active_record/apnsp8/notification_spec.rb:18:in `block (2 levels) in <top (required)>'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:236:in `instance_exec'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:236:in `block in run'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:478:in `block in with_around_and_singleton_context_hooks'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:435:in `block in with_around_example_hooks'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb:478:in `block in run'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb:618:in `block in run_around_example_hooks_for'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:320:in `call'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:10:in `block in aggregate'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-support-3.4.1/lib/rspec/support.rb:103:in `with_failure_notifier'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:8:in `aggregate'

     1.3) Failure/Error: expect(notification.errors[:base].include?("APN notification cannot be larger than 4096 bytes. Try condensing your alert and device attributes.")).to be_truthy

            expected: truthy value
                 got: false
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:49:in `call'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-support-3.4.1/lib/rspec/support.rb:96:in `notify_failure'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/fail_with.rb:27:in `fail_with'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:40:in `handle_failure'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:27:in `with_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/expectation_target.rb:54:in `to'
          # ./spec/unit/client/active_record/apnsp8/notification_spec.rb:22:in `block (2 levels) in <top (required)>'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:236:in `instance_exec'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:236:in `block in run'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:478:in `block in with_around_and_singleton_context_hooks'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:435:in `block in with_around_example_hooks'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb:478:in `block in run'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb:618:in `block in run_around_example_hooks_for'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:320:in `call'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:10:in `block in aggregate'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-support-3.4.1/lib/rspec/support.rb:103:in `with_failure_notifier'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:8:in `aggregate'

Finished in 34.11 seconds (files took 2.53 seconds to load)
778 examples, 1 failure

Failed examples:

rspec ./spec/unit/client/active_record/apnsp8/notification_spec.rb:9 # Rpush::Client::ActiveRecord::Apnsp8::Notification should validate the length of the binary conversion of the notification
```
These specs are failing because:

* APNS v1 imposes a validation payload size limit of 2kb. On APNS2 and
APNSp8, the payload limit increases to 4kb (any APNS notification
delivered via http/2 has a payload limit of 4kb).
* When using APNSp8, Rpush is validating the notification payload size
based on APNS v1 size limits (2kb), rather than APNS v2 size limits (4kb).

https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html

```
Failures:

  1) Rpush::Client::Redis::Apnsp8::Notification should validate the length of the binary conversion of the notification
     Got 3 failures:

     1.1) Failure/Error: expect(notification.valid?).to be_truthy

            expected: truthy value
                 got: false
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:49:in `call'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-support-3.4.1/lib/rspec/support.rb:96:in `notify_failure'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/fail_with.rb:27:in `fail_with'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:40:in `handle_failure'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:27:in `with_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/expectation_target.rb:54:in `to'
          # ./spec/unit/client/redis/apnsp8/notification_spec.rb:18:in `block (2 levels) in <top (required)>'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:236:in `instance_exec'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:236:in `block in run'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:478:in `block in with_around_and_singleton_context_hooks'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:435:in `block in with_around_example_hooks'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb:478:in `block in run'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb:618:in `block in run_around_example_hooks_for'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:320:in `call'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:10:in `block in aggregate'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-support-3.4.1/lib/rspec/support.rb:103:in `with_failure_notifier'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:8:in `aggregate'

     1.2) Failure/Error: expect(notification.errors[:base]).to be_empty
            expected `["APN notification cannot be larger than 2048 bytes. Try condensing your alert and device attributes."].empty?` to return true, got false
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:49:in `call'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-support-3.4.1/lib/rspec/support.rb:96:in `notify_failure'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/fail_with.rb:27:in `fail_with'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:40:in `handle_failure'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:27:in `with_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/expectation_target.rb:54:in `to'
          # ./spec/unit/client/redis/apnsp8/notification_spec.rb:19:in `block (2 levels) in <top (required)>'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:236:in `instance_exec'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:236:in `block in run'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:478:in `block in with_around_and_singleton_context_hooks'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:435:in `block in with_around_example_hooks'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb:478:in `block in run'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb:618:in `block in run_around_example_hooks_for'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:320:in `call'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:10:in `block in aggregate'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-support-3.4.1/lib/rspec/support.rb:103:in `with_failure_notifier'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:8:in `aggregate'

     1.3) Failure/Error: expect(notification.errors[:base].include?("APN notification cannot be larger than 4096 bytes. Try condensing your alert and device attributes.")).to be_truthy

            expected: truthy value
                 got: false
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:49:in `call'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-support-3.4.1/lib/rspec/support.rb:96:in `notify_failure'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/fail_with.rb:27:in `fail_with'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:40:in `handle_failure'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:27:in `with_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/expectation_target.rb:54:in `to'
          # ./spec/unit/client/redis/apnsp8/notification_spec.rb:23:in `block (2 levels) in <top (required)>'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:236:in `instance_exec'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:236:in `block in run'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:478:in `block in with_around_and_singleton_context_hooks'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:435:in `block in with_around_example_hooks'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb:478:in `block in run'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb:618:in `block in run_around_example_hooks_for'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-core-3.4.4/lib/rspec/core/example.rb:320:in `call'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:10:in `block in aggregate'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-support-3.4.1/lib/rspec/support.rb:103:in `with_failure_notifier'
          # /Users/greg/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb:8:in `aggregate'

Finished in 34.69 seconds (files took 2.18 seconds to load)
779 examples, 1 failure

Failed examples:

rspec ./spec/unit/client/redis/apnsp8/notification_spec.rb:6 # Rpush::Client::Redis::Apnsp8::Notification should validate the length of the binary conversion of the notification
```
Bug fix: APNS P8 Notifications Are Marked as Invalid When the Payload Exceeds 2kb (2048 bytes)
Version 4.0.0 of `net-http-persistent` is incompatible with Ruby 3.0. This was fixed in version 4.0.1.
In Ruby 2.7, a Hash can automatically be converted to a keyword argument. In Ruby 3.0 however, attempting to do so will raise an ArgumentError.

See the following link for more details:
https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0/
AnilRh and others added 26 commits January 22, 2024 09:09
* master:
  Bump rails-html-sanitizer from 1.4.2 to 1.4.3 (rpush#642)
  Bump rack from 2.2.3 to 2.2.3.1 (rpush#638)
  Stop auto-closing issues
Priority value is now using 'normal' or 'high' instead of numeric values
Dry Run option is not implemented so throws an exception
Mutable Content is not implemented so throws an exception
Get tests working without all the ENV variables
Add properties to FCM App to allow operation without env vars
…sponse from FCM

- Adding specs for FCM daemon
- Clarifying error message
@kirbycool
Copy link
Author

kirbycool commented Aug 5, 2024

Rails 5.1 support was dropped here. We can probably still get it to work, but there's no testing for old rails versions.
rpush#597

The other option is to cherry-pick the FCM classes.

@kirbycool kirbycool closed this Sep 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.