· 9天 ago
Started POST "/purchasekit/purchases?r=xfgv" for 172.20.10.2 at 2026-01-26 10:04:08 -0500
Cannot render console from 172.20.10.2! Allowed networks: 192.168.2.0/192.168.2.255, 127.0.0.0/127.255.255.255, ::1
Processing by PurchaseKit::PurchasesController#create as TURBO_STREAM
Parameters: {"authenticity_token"=>"[FILTERED]", "customer_id"=>"1", "success_path"=>"/subscription?r=xfgv", "environment"=>"sandbox", "product_id"=>"ai.pickful.vip.annual", "commit"=>"Subscribe Now", "r"=>"xfgv"}
Rendered /Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/purchasekit-0.4.3/app/views/purchase_kit/purchases/_intent.html.erb (Duration: 0.9ms | GC: 0.0ms)
Completed 200 OK in 152ms (Views: 0.2ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
Started POST "/purchasekit/purchase/completions/4790b157-1b44-445f-8d74-be89a9d08d8f" for 172.20.10.2 at 2026-01-26 10:05:16 -0500
Cannot render console from 172.20.10.2! Allowed networks: 192.168.2.0/192.168.2.255, 127.0.0.0/127.255.255.255, ::1
Processing by PurchaseKit::Purchase::CompletionsController#create as */*
Parameters: {"id"=>"4790b157-1b44-445f-8d74-be89a9d08d8f"}
TRANSACTION (0.2ms) BEGIN /*action='create',application='CryptoSocial',controller='completions'*/
Pay::Webhook Create (10.2ms) INSERT INTO "pay_webhooks" ("processor", "event_type", "event", "created_at", "updated_at") VALUES ('purchasekit', 'subscription.created', '{"type":"subscription.created","customer_id":"1","subscription_id":"sub_20f367bf2c623bbc00056d94","store":"apple","store_product_id":"ai.pickful.vip.annual","subscription_name":"Demo Subscription","status":"active","current_period_start":"2026-01-26T15:05:16Z","current_period_end":"2027-01-26T15:05:16Z","ends_at":null,"success_path":"/subscription?r=xfgv"}', '2026-01-26 15:05:16.448953', '2026-01-26 15:05:16.448953') RETURNING "id" /*action='create',application='CryptoSocial',controller='completions'*/
TRANSACTION (0.8ms) COMMIT /*action='create',application='CryptoSocial',controller='completions'*/
[ActiveJob] Enqueued PurchaseKit::Pay::Webhook::ProcessWebhookJob (Job ID: 51c467c8-733d-474d-b590-ddeab0ef5220) to Async(default) with arguments: 1
Redirected to http://172.20.10.2:3000/subscription?r=xfgv
Completed 302 Found in 200ms (ActiveRecord: 31.7ms (1 query, 0 cached) | GC: 0.0ms)
Started GET "/subscription?r=xfgv" for 172.20.10.2 at 2026-01-26 10:05:16 -0500
Cannot render console from 172.20.10.2! Allowed networks: 192.168.2.0/192.168.2.255, 127.0.0.0/127.255.255.255, ::1
[ActiveJob] [PurchaseKit::Pay::Webhook::ProcessWebhookJob] [51c467c8-733d-474d-b590-ddeab0ef5220] Performing PurchaseKit::Pay::Webhook::ProcessWebhookJob (Job ID: 51c467c8-733d-474d-b590-ddeab0ef5220) from Async(default) enqueued at 2026-01-26T15:05:16.476083000Z with arguments: 1
Processing by SubscriptionsController#show as */*
Parameters: {"r"=>"xfgv"}
[ActiveJob] [PurchaseKit::Pay::Webhook::ProcessWebhookJob] [51c467c8-733d-474d-b590-ddeab0ef5220] Pay::Webhook Load (2.2ms) SELECT "pay_webhooks".* FROM "pay_webhooks" WHERE "pay_webhooks"."id" = 1 LIMIT 1 /*application='CryptoSocial',job='PurchaseKit%3A%3APay%3A%3AWebhook%3A%3AProcessWebhookJob'*/
[ActiveJob] [PurchaseKit::Pay::Webhook::ProcessWebhookJob] [51c467c8-733d-474d-b590-ddeab0ef5220] Pay::Customer Load (0.5ms) SELECT "pay_customers".* FROM "pay_customers" WHERE "pay_customers"."id" = 1 LIMIT 1 /*application='CryptoSocial',job='PurchaseKit%3A%3APay%3A%3AWebhook%3A%3AProcessWebhookJob'*/
[ActiveJob] [PurchaseKit::Pay::Webhook::ProcessWebhookJob] [51c467c8-733d-474d-b590-ddeab0ef5220] Pay::Purchasekit::Subscription Load (1.2ms) SELECT "pay_subscriptions".* FROM "pay_subscriptions" WHERE "pay_subscriptions"."customer_id" = 1 AND "pay_subscriptions"."processor_id" = 'sub_20f367bf2c623bbc00056d94' LIMIT 1 /*application='CryptoSocial',job='PurchaseKit%3A%3APay%3A%3AWebhook%3A%3AProcessWebhookJob'*/
[ActiveJob] [PurchaseKit::Pay::Webhook::ProcessWebhookJob] [51c467c8-733d-474d-b590-ddeab0ef5220] Error performing PurchaseKit::Pay::Webhook::ProcessWebhookJob (Job ID: 51c467c8-733d-474d-b590-ddeab0ef5220) from Async(default) in 244.43ms: NameError (uninitialized constant Pay::Purchasekit::Billable):
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/inflector/methods.rb:290:in `const_get'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/inflector/methods.rb:290:in `constantize'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/core_ext/string/inflections.rb:74:in `constantize'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/pay-7.3.0/app/models/pay/customer.rb:37:in `pay_processor_for'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/pay-7.3.0/app/models/pay/customer.rb:42:in `pay_processor'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/delegation.rb:182:in `respond_to_missing?'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activemodel-8.0.2/lib/active_model/attribute_methods.rb:529:in `respond_to?'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activemodel-8.0.2/lib/active_model/attribute_methods.rb:529:in `respond_to?'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/attribute_methods.rb:292:in `respond_to?'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/core_ext/array/wrap.rb:42:in `wrap'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/validations/presence.rb:8:in `validate_each'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activemodel-8.0.2/lib/active_model/validator.rb:155:in `block in validate'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activemodel-8.0.2/lib/active_model/validator.rb:151:in `each'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activemodel-8.0.2/lib/active_model/validator.rb:151:in `validate'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:384:in `block in make_lambda'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:178:in `block in call'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:668:in `block (2 levels) in default_terminator'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:667:in `catch'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:667:in `block in default_terminator'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:179:in `call'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:559:in `block in invoke_before'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:559:in `each'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:559:in `invoke_before'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:108:in `run_callbacks'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:913:in `_run_validate_callbacks'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activemodel-8.0.2/lib/active_model/validations.rb:474:in `run_validations!'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activemodel-8.0.2/lib/active_model/validations/callbacks.rb:115:in `block in run_validations!'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:109:in `run_callbacks'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:913:in `_run_validation_callbacks'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activemodel-8.0.2/lib/active_model/validations/callbacks.rb:115:in `run_validations!'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activemodel-8.0.2/lib/active_model/validations.rb:365:in `valid?'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/validations.rb:71:in `valid?'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/validations.rb:91:in `perform_validations'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/validations.rb:54:in `save!'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/transactions.rb:365:in `block in save!'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/transactions.rb:417:in `block (2 levels) in with_transaction_returning_status'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/connection_adapters/abstract/database_statements.rb:357:in `transaction'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/transactions.rb:413:in `block in with_transaction_returning_status'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:412:in `with_connection'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/connection_handling.rb:310:in `with_connection'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/transactions.rb:409:in `with_transaction_returning_status'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/transactions.rb:365:in `save!'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/suppressor.rb:56:in `save!'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/persistence.rb:579:in `block in update!'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/transactions.rb:417:in `block (2 levels) in with_transaction_returning_status'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/connection_adapters/abstract/transaction.rb:626:in `block in within_new_transaction'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/connection_adapters/abstract/transaction.rb:623:in `within_new_transaction'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/connection_adapters/abstract/database_statements.rb:367:in `within_new_transaction'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/connection_adapters/abstract/database_statements.rb:359:in `transaction'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/transactions.rb:413:in `block in with_transaction_returning_status'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:418:in `with_connection'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/connection_handling.rb:310:in `with_connection'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/transactions.rb:409:in `with_transaction_returning_status'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/persistence.rb:577:in `update!'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/purchasekit-0.4.3/lib/purchasekit/pay/webhooks/subscription_created.rb:17:in `call'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/pay-7.3.0/lib/pay/webhooks/delegator.rb:50:in `call'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications/fanout.rb:133:in `block in finish'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications/fanout.rb:24:in `block in iterate_guarding_exceptions'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications/fanout.rb:23:in `each'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications/fanout.rb:23:in `iterate_guarding_exceptions'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications/fanout.rb:121:in `each'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications/fanout.rb:132:in `finish'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications/fanout.rb:258:in `block in finish_with_values'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications/fanout.rb:24:in `block in iterate_guarding_exceptions'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications/fanout.rb:23:in `each'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications/fanout.rb:23:in `iterate_guarding_exceptions'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications/fanout.rb:257:in `finish_with_values'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications/fanout.rb:250:in `finish'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications/instrumenter.rb:64:in `instrument'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications.rb:210:in `instrument'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/pay-7.3.0/lib/pay/webhooks/delegator.rb:35:in `instrument'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/pay-7.3.0/lib/pay/webhooks.rb:7:in `instrument'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/pay-7.3.0/app/models/pay/webhook.rb:8:in `process!'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/purchasekit-0.4.3/lib/purchasekit/pay/webhook.rb:31:in `perform'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/execution.rb:68:in `block in _perform_job'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:120:in `block in run_callbacks'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/i18n-1.14.7/lib/i18n.rb:353:in `with_locale'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/translation.rb:9:in `block (2 levels) in <module:Translation>'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:129:in `instance_exec'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:129:in `block in run_callbacks'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/core_ext/time/zones.rb:65:in `use_zone'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/timezones.rb:9:in `block (2 levels) in <module:Timezones>'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:129:in `instance_exec'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:129:in `block in run_callbacks'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:140:in `run_callbacks'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/execution.rb:67:in `_perform_job'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/instrumentation.rb:32:in `_perform_job'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/execution.rb:51:in `perform_now'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/instrumentation.rb:26:in `block in perform_now'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/railties/job_runtime.rb:13:in `block in instrument'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/instrumentation.rb:40:in `block in instrument'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications.rb:210:in `block in instrument'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications.rb:210:in `instrument'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/instrumentation.rb:39:in `instrument'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activerecord-8.0.2/lib/active_record/railties/job_runtime.rb:11:in `instrument'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/instrumentation.rb:26:in `perform_now'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/logging.rb:32:in `block in perform_now'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/tagged_logging.rb:143:in `block in tagged'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/tagged_logging.rb:38:in `tagged'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/tagged_logging.rb:143:in `tagged'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/broadcast_logger.rb:241:in `method_missing'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/logging.rb:39:in `tag_logger'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/logging.rb:32:in `perform_now'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/execution.rb:29:in `block in execute'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:120:in `block in run_callbacks'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/railtie.rb:95:in `block (4 levels) in <class:Railtie>'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/reloader.rb:77:in `block in wrap'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/execution_wrapper.rb:91:in `wrap'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/reloader.rb:74:in `wrap'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/railtie.rb:94:in `block (3 levels) in <class:Railtie>'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:129:in `instance_exec'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:129:in `block in run_callbacks'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activesupport-8.0.2/lib/active_support/callbacks.rb:140:in `run_callbacks'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/execution.rb:27:in `execute'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/activejob-8.0.2/lib/active_job/queue_adapters/async_adapter.rb:70:in `perform'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:359:in `run_task'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:350:in `block (3 levels) in create_worker'
<internal:kernel>:187:in `loop'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:341:in `block (2 levels) in create_worker'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:340:in `catch'
/Users/guotong/.rbenv/versions/3.3.2/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:340:in `block in create_worker'
User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 ORDER BY "users"."id" ASC LIMIT 1 /*action='show',application='CryptoSocial',controller='subscriptions'*/
↳ app/controllers/application_controller.rb:53:in `initialize_trackable_ip'
Pay::Customer Load (0.3ms) SELECT "pay_customers".* FROM "pay_customers" WHERE "pay_customers"."owner_id" = 1 AND "pay_customers"."owner_type" = 'User' AND "pay_customers"."default" = TRUE AND "pay_customers"."deleted_at" IS NULL LIMIT 1 /*action='show',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:128:in `subscribed?'
Pay::Subscription Exists? (0.5ms) SELECT 1 AS one FROM "pay_subscriptions" WHERE "pay_subscriptions"."customer_id" = 1 AND ("pay_subscriptions"."status" = 'active' AND (pause_starts_at IS NULL OR pause_starts_at > '2026-01-26 15:05:16.926599') AND (pay_subscriptions.ends_at IS NULL OR pay_subscriptions.ends_at > '2026-01-26 15:05:16.926649') OR "pay_subscriptions"."status" IN ('trialing', 'active') AND (trial_ends_at > '2026-01-26 15:05:16.926713')) AND "pay_subscriptions"."name" = 'default' LIMIT 1 /*action='show',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:128:in `subscribed?'
Redirected to http://172.20.10.2:3000/subscription/paywall?r=xfgv
Completed 302 Found in 384ms (ActiveRecord: 1.2ms (3 queries, 0 cached) | GC: 3.3ms)
Started GET "/subscription/paywall?r=xfgv" for 172.20.10.2 at 2026-01-26 10:05:16 -0500
Cannot render console from 172.20.10.2! Allowed networks: 192.168.2.0/192.168.2.255, 127.0.0.0/127.255.255.255, ::1
Processing by SubscriptionsController#paywall as */*
Parameters: {"r"=>"xfgv"}
User Load (0.6ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 ORDER BY "users"."id" ASC LIMIT 1 /*action='paywall',application='CryptoSocial',controller='subscriptions'*/
↳ app/controllers/application_controller.rb:53:in `initialize_trackable_ip'
[PurchaseKit] Finding products for user 1
[PurchaseKit] Demo mode: true
[PurchaseKit] Available products: ["ai.pickful.vip.annual", "ai.pickful.vip.monthly"]
[PurchaseKit] Products found: annual=#<PurchaseKit::Product:0x000000012c727ef0 @id="ai.pickful.vip.annual", @apple_product_id="ai.pickful.vip.annual", @google_product_id="ai.pickful.vip.annual">, monthly=#<PurchaseKit::Product:0x000000012c727ec8 @id="ai.pickful.vip.monthly", @apple_product_id="ai.pickful.vip.monthly", @google_product_id="ai.pickful.vip.monthly">
TRANSACTION (0.1ms) BEGIN /*action='paywall',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:133:in `purchasekit_processor'
Pay::Customer Update All (0.9ms) UPDATE "pay_customers" SET "default" = FALSE WHERE "pay_customers"."owner_id" = 1 AND "pay_customers"."owner_type" = 'User' /*action='paywall',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:133:in `purchasekit_processor'
Pay::Customer Load (0.3ms) SELECT "pay_customers".* FROM "pay_customers" WHERE "pay_customers"."owner_id" = 1 AND "pay_customers"."owner_type" = 'User' AND "pay_customers"."deleted_at" IS NULL AND "pay_customers"."processor" = 'purchasekit' ORDER BY "pay_customers"."id" ASC LIMIT 1 /*action='paywall',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:133:in `purchasekit_processor'
Pay::Customer Update (0.2ms) UPDATE "pay_customers" SET "default" = TRUE, "updated_at" = '2026-01-26 15:05:17.069138' WHERE "pay_customers"."id" = 1 /*action='paywall',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:133:in `purchasekit_processor'
TRANSACTION (0.3ms) COMMIT /*action='paywall',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:133:in `purchasekit_processor'
Pay::Customer Load (0.4ms) SELECT "pay_customers".* FROM "pay_customers" WHERE "pay_customers"."owner_id" = 1 AND "pay_customers"."owner_type" = 'User' AND "pay_customers"."default" = TRUE AND "pay_customers"."deleted_at" IS NULL LIMIT 1 /*action='paywall',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:133:in `purchasekit_processor'
Rendering layout layouts/application.html.erb
Rendering subscriptions/paywall.html.erb within layouts/application
Rendered subscriptions/paywall.html.erb within layouts/application (Duration: 3.9ms | GC: 0.0ms)
Rendered shared/_menu.html.erb (Duration: 4.7ms | GC: 0.0ms)
Rendered shared/_nav.html.erb (Duration: 10.1ms | GC: 0.0ms)
Rendered layouts/_web_header.html.erb (Duration: 11.4ms | GC: 0.0ms)
Rendered shared/_notice.html.erb (Duration: 0.1ms | GC: 0.0ms)
Rendered shared/_footer.html.erb (Duration: 1.9ms | GC: 0.0ms)
Rendered shared/_app_menu.html.erb (Duration: 0.0ms | GC: 0.0ms)
Rendered shared/_analytics.html.erb (Duration: 0.0ms | GC: 0.0ms)
Rendered layout layouts/application.html.erb (Duration: 20.3ms | GC: 0.1ms)
Completed 200 OK in 145ms (Views: 20.7ms | ActiveRecord: 2.7ms (5 queries, 0 cached) | GC: 0.2ms)
Started GET "/subscription?r=xfgv" for 172.20.10.2 at 2026-01-26 10:05:47 -0500
Cannot render console from 172.20.10.2! Allowed networks: 192.168.2.0/192.168.2.255, 127.0.0.0/127.255.255.255, ::1
Processing by SubscriptionsController#show as HTML
Parameters: {"r"=>"xfgv"}
User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 ORDER BY "users"."id" ASC LIMIT 1 /*action='show',application='CryptoSocial',controller='subscriptions'*/
↳ app/controllers/application_controller.rb:53:in `initialize_trackable_ip'
Pay::Customer Load (0.4ms) SELECT "pay_customers".* FROM "pay_customers" WHERE "pay_customers"."owner_id" = 1 AND "pay_customers"."owner_type" = 'User' AND "pay_customers"."default" = TRUE AND "pay_customers"."deleted_at" IS NULL LIMIT 1 /*action='show',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:128:in `subscribed?'
Pay::Subscription Exists? (0.3ms) SELECT 1 AS one FROM "pay_subscriptions" WHERE "pay_subscriptions"."customer_id" = 1 AND ("pay_subscriptions"."status" = 'active' AND (pause_starts_at IS NULL OR pause_starts_at > '2026-01-26 15:05:47.484820') AND (pay_subscriptions.ends_at IS NULL OR pay_subscriptions.ends_at > '2026-01-26 15:05:47.484876') OR "pay_subscriptions"."status" IN ('trialing', 'active') AND (trial_ends_at > '2026-01-26 15:05:47.484933')) AND "pay_subscriptions"."name" = 'default' LIMIT 1 /*action='show',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:128:in `subscribed?'
Redirected to http://172.20.10.2:3000/subscription/paywall?r=xfgv
Completed 302 Found in 287ms (ActiveRecord: 1.2ms (3 queries, 0 cached) | GC: 0.0ms)
Started GET "/subscription/paywall?r=xfgv" for 172.20.10.2 at 2026-01-26 10:05:47 -0500
Cannot render console from 172.20.10.2! Allowed networks: 192.168.2.0/192.168.2.255, 127.0.0.0/127.255.255.255, ::1
Processing by SubscriptionsController#paywall as HTML
Parameters: {"r"=>"xfgv"}
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 ORDER BY "users"."id" ASC LIMIT 1 /*action='paywall',application='CryptoSocial',controller='subscriptions'*/
↳ app/controllers/application_controller.rb:53:in `initialize_trackable_ip'
[PurchaseKit] Finding products for user 1
[PurchaseKit] Demo mode: true
[PurchaseKit] Available products: ["ai.pickful.vip.annual", "ai.pickful.vip.monthly"]
[PurchaseKit] Products found: annual=#<PurchaseKit::Product:0x000000012e8a9b28 @id="ai.pickful.vip.annual", @apple_product_id="ai.pickful.vip.annual", @google_product_id="ai.pickful.vip.annual">, monthly=#<PurchaseKit::Product:0x000000012e8a9b00 @id="ai.pickful.vip.monthly", @apple_product_id="ai.pickful.vip.monthly", @google_product_id="ai.pickful.vip.monthly">
TRANSACTION (0.2ms) BEGIN /*action='paywall',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:133:in `purchasekit_processor'
Pay::Customer Update All (1.4ms) UPDATE "pay_customers" SET "default" = FALSE WHERE "pay_customers"."owner_id" = 1 AND "pay_customers"."owner_type" = 'User' /*action='paywall',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:133:in `purchasekit_processor'
Pay::Customer Load (0.4ms) SELECT "pay_customers".* FROM "pay_customers" WHERE "pay_customers"."owner_id" = 1 AND "pay_customers"."owner_type" = 'User' AND "pay_customers"."deleted_at" IS NULL AND "pay_customers"."processor" = 'purchasekit' ORDER BY "pay_customers"."id" ASC LIMIT 1 /*action='paywall',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:133:in `purchasekit_processor'
Pay::Customer Update (0.3ms) UPDATE "pay_customers" SET "default" = TRUE, "updated_at" = '2026-01-26 15:05:47.649006' WHERE "pay_customers"."id" = 1 /*action='paywall',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:133:in `purchasekit_processor'
TRANSACTION (0.5ms) COMMIT /*action='paywall',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:133:in `purchasekit_processor'
Pay::Customer Load (0.3ms) SELECT "pay_customers".* FROM "pay_customers" WHERE "pay_customers"."owner_id" = 1 AND "pay_customers"."owner_type" = 'User' AND "pay_customers"."default" = TRUE AND "pay_customers"."deleted_at" IS NULL LIMIT 1 /*action='paywall',application='CryptoSocial',controller='subscriptions'*/
↳ app/models/user.rb:133:in `purchasekit_processor'
Rendering layout layouts/application.html.erb
Rendering subscriptions/paywall.html.erb within layouts/application
Rendered subscriptions/paywall.html.erb within layouts/application (Duration: 4.1ms | GC: 0.0ms)
Rendered shared/_notice.html.erb (Duration: 0.0ms | GC: 0.0ms)
Rendered shared/_app_menu.html.erb (Duration: 0.1ms | GC: 0.0ms)
Rendered shared/_analytics.html.erb (Duration: 0.0ms | GC: 0.0ms)
Rendered layout layouts/application.html.erb (Duration: 5.5ms | GC: 0.0ms)
Completed 200 OK in 146ms (Views: 5.8ms | ActiveRecord: 3.5ms (5 queries, 0 cached) | GC: 0.0ms)
Unsubscribing from channel: {"channel":"Turbo::StreamsChannel","signed_stream_name":"IloybGtPaTh2WTNKNWNIUnZMWE52WTJsaGJDOVFZWGs2T2tOMWMzUnZiV1Z5THpFIg==--38d050565018255e2e63b15c054a5a3b115cfaa2e3fb23ee0ac62a05928ce3ae"}
Turbo::StreamsChannel stopped streaming from Z2lkOi8vY3J5cHRvLXNvY2lhbC9QYXk6OkN1c3RvbWVyLzE
Turbo::StreamsChannel is transmitting the subscription confirmation
Turbo::StreamsChannel is streaming from Z2lkOi8vY3J5cHRvLXNvY2lhbC9QYXk6OkN1c3RvbWVyLzE
Unsubscribing from channel: {"channel":"Turbo::StreamsChannel","signed_stream_name":"IloybGtPaTh2WTNKNWNIUnZMWE52WTJsaGJDOVFZWGs2T2tOMWMzUnZiV1Z5THpFIg==--38d050565018255e2e63b15c054a5a3b115cfaa2e3fb23ee0ac62a05928ce3ae"}
Turbo::StreamsChannel stopped streaming from Z2lkOi8vY3J5cHRvLXNvY2lhbC9QYXk6OkN1c3RvbWVyLzE
Turbo::StreamsChannel is transmitting the subscription confirmation
Turbo::StreamsChannel is streaming from Z2lkOi8vY3J5cHRvLXNvY2lhbC9QYXk6OkN1c3RvbWVyLzE
與您的關注者分享。
回覆