flow_chat 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7acb16ea89a86c4680cd499207fe48763bf91de4937b8ad3474ce22c27194ca7
|
4
|
+
data.tar.gz: fc79cb9fffa808baeb2abddf72119536e16661f54cb2644dc04d89f8983fe1b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ae0c2b313390de0311fce7030f4577ea5ae127e8f6241fecd6d7e8c6bf1b210d1aa98a2878accf2ea5069f89dc8fd766ff0fb800e9cddf123ccd7c7aedfd374c
|
7
|
+
data.tar.gz: 462d4f8caeb6a1a9f11809c25195e439bb0ffff174343d07daf7407f765c62740ca40dff5fa9367e1ddb36775ce774d325076ad5ac9bbc3cfe2ef8b7b5e95b67
|
@@ -100,7 +100,7 @@ module FlowChat
|
|
100
100
|
}
|
101
101
|
rescue => e
|
102
102
|
Rails.logger.warn "Failed to set simulator cookie: #{e.message}"
|
103
|
-
raise
|
103
|
+
raise # Re-raise the exception so it's not silently ignored
|
104
104
|
end
|
105
105
|
end
|
106
106
|
end
|
data/lib/flow_chat/ussd/app.rb
CHANGED
@@ -12,7 +12,7 @@ module FlowChat
|
|
12
12
|
|
13
13
|
def screen(key)
|
14
14
|
raise ArgumentError, "a block is expected" unless block_given?
|
15
|
-
raise ArgumentError, "screen has been presented" if navigation_stack.include?(key)
|
15
|
+
raise ArgumentError, "screen has already been presented" if navigation_stack.include?(key)
|
16
16
|
|
17
17
|
navigation_stack << key
|
18
18
|
return session.get(key) if session.get(key).present?
|
data/lib/flow_chat/version.rb
CHANGED
@@ -12,7 +12,7 @@ module FlowChat
|
|
12
12
|
|
13
13
|
def screen(key)
|
14
14
|
raise ArgumentError, "a block is expected" unless block_given?
|
15
|
-
raise ArgumentError, "screen has been presented" if navigation_stack.include?(key)
|
15
|
+
raise ArgumentError, "screen has already been presented" if navigation_stack.include?(key)
|
16
16
|
|
17
17
|
navigation_stack << key
|
18
18
|
return session.get(key) if session.get(key).present?
|
@@ -114,26 +114,14 @@ module FlowChat
|
|
114
114
|
handler_mode = determine_message_handler(context)
|
115
115
|
|
116
116
|
# Process the message based on handling mode
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
return handle_message_simulator(context, controller)
|
126
|
-
end
|
127
|
-
rescue => e
|
128
|
-
# Log the error and set appropriate HTTP status
|
129
|
-
Rails.logger.error "Error processing WhatsApp message: #{e.message}"
|
130
|
-
Rails.logger.error e.backtrace&.join("\n") if e.backtrace
|
131
|
-
|
132
|
-
# Return error status to WhatsApp so they know processing failed
|
133
|
-
controller.head :internal_server_error
|
134
|
-
|
135
|
-
# Re-raise the error to bubble it up for proper error tracking/monitoring
|
136
|
-
raise e
|
117
|
+
case handler_mode
|
118
|
+
when :inline
|
119
|
+
handle_message_inline(context, controller)
|
120
|
+
when :background
|
121
|
+
handle_message_background(context, controller)
|
122
|
+
when :simulator
|
123
|
+
# Return early from simulator mode to preserve the JSON response
|
124
|
+
return handle_message_simulator(context, controller)
|
137
125
|
end
|
138
126
|
end
|
139
127
|
|