+1
stack/river/river.opam
+1
stack/river/river.opam
+145
stack/zulip/lib/zulip/lib/jsonu_syntax.ml
+145
stack/zulip/lib/zulip/lib/jsonu_syntax.ml
···
···+| None -> Error (Error.create ~code:(Other "missing_field") ~msg:(Printf.sprintf "Required field '%s' not found" name) ())+| Error e -> Error (Error.create ~code:(Error.code e) ~msg:(Printf.sprintf "%s: %s" ctx (Error.message e)) ())
+97
stack/zulip/lib/zulip/lib/jsonu_syntax.mli
+97
stack/zulip/lib/zulip/lib/jsonu_syntax.mli
···
···+val ( and+++ ) : ('a * 'b * 'c, 'e) result -> ('d, 'e) result -> ('a * 'b * 'c * 'd, 'e) result+val ( and++++ ) : ('a * 'b * 'c * 'd, 'e) result -> ('f, 'e) result -> ('a * 'b * 'c * 'd * 'f, 'e) result
+90
-110
stack/zulip/lib/zulip_bot/lib/message.ml
+90
-110
stack/zulip/lib/zulip_bot/lib/message.ml
···-match user_id_result, Zulip.Jsonu.get_string fields "email", Zulip.Jsonu.get_string fields "full_name" with······-let submessages = Zulip.Jsonu.get_array_opt fields "submessages" |> Option.value ~default:[] in-Log.warn (fun m -> m "Failed to parse user in display_recipient: %s" (Zulip.Error.message err));
·········+let submessages = Zulip.Jsonu.get_array_opt fields "submessages" |> Option.value ~default:[] in+Log.warn (fun m -> m "Failed to parse user in display_recipient: %s" (Zulip.Error.message err));
+2
stack/zulip/lib/zulip_bot/lib/message.mli
+2
stack/zulip/lib/zulip_bot/lib/message.mli
······
+68
stack/zulip/test_bot.sh
+68
stack/zulip/test_bot.sh
···
···+options=("Echo Bot" "Echo Bot (verbose)" "Test Realtime Bot" "Atom Feed Bot (interactive)" "Quit")