From a4afbc4c507419c5fd50c9403bc0bf6a53c92632 Mon Sep 17 00:00:00 2001 From: Matias Goldfeld <2000matu@gmail.com> Date: Tue, 26 Jan 2021 03:33:48 -0500 Subject: Stated incompatability with new versions of decompress in disml.opam and made some small fixes to add compatability with new OCaml versions --- disml.opam | 3 ++- lib/gateway/sharder.ml | 4 ++-- lib/models/event_models.ml | 10 +++++----- lib/models/guild/guild.ml | 4 ++-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/disml.opam b/disml.opam index 38d6bc5..4f35302 100644 --- a/disml.opam +++ b/disml.opam @@ -1,3 +1,4 @@ +version: "cbb1e47-dirty" opam-version: "2.0" name: "disml" version: "0.2.5" @@ -25,7 +26,7 @@ depends: [ "async_ssl" {>= "v0.11.0"} "cohttp-async" {>= "1.2.0"} "core" {>= "v0.11.3"} - "decompress" {>= "0.8"} + "decompress" {<= "0.8.1"} "odoc" {with-doc & >= "1.3.0"} "ppx_deriving_yojson" {>= "3.3"} "ppx_sexp_conv" {>= "v0.11.2"} diff --git a/lib/gateway/sharder.ml b/lib/gateway/sharder.ml index ba865a9..14763ca 100644 --- a/lib/gateway/sharder.ml +++ b/lib/gateway/sharder.ml @@ -23,7 +23,7 @@ let decompress src = pos := !pos + len; len) (fun obuf len -> - Buffer.add_subbytes res obuf 0 len; 0xFFFF) + Buffer.add_subbytes res obuf ~pos:0 ~len:len; 0xFFFF) (Zlib_inflate.default ~witness:B.bytes window) |> function | Ok _ -> Buffer.contents res @@ -95,7 +95,7 @@ module Shard = struct let seq = J.(member "s" payload |> to_int) in let t = J.(member "t" payload |> to_string) in let data = J.member "d" payload in - let session = if t = "READY" then begin + let session = if String.equal t "READY" then begin Ivar.fill_if_empty shard.ready (); Clock.after (Core.Time.Span.create ~sec:5 ()) >>> (fun _ -> Mvar.put identify_lock () >>> ignore); diff --git a/lib/models/event_models.ml b/lib/models/event_models.ml index 603f2c3..40ff299 100644 --- a/lib/models/event_models.ml +++ b/lib/models/event_models.ml @@ -319,7 +319,7 @@ module GuildMemberRemove = struct if Cache.GuildMap.mem cache.guilds t.guild_id then let guilds = match Cache.GuildMap.find cache.guilds t.guild_id with | Some g -> - let members = List.filter g.members ~f:(fun m -> m.user.id <> t.user.id) in + let members = List.filter g.members ~f:(fun m -> User_id.compare m.user.id t.user.id <> 0) in let data = { g with members } in Cache.GuildMap.set cache.guilds ~key:t.guild_id ~data | None -> cache.guilds in @@ -342,7 +342,7 @@ module GuildMemberUpdate = struct let guilds = match Cache.GuildMap.find cache.guilds t.guild_id with | Some g -> let members = List.map g.members ~f:(fun m -> - if m.user.id = t.user.id then + if User_id.compare m.user.id t.user.id = 0 then { m with nick = t.nick; roles = t.roles } else m) in let data = { g with members } in @@ -367,7 +367,7 @@ module GuildMembersChunk = struct let `Guild_id guild_id = t.guild_id in let users = List.map t.members ~f:(fun m -> m.user.id, m.user) in let members = List.filter_map t.members ~f:(fun m -> - if List.exists g.members ~f:(fun m' -> m'.user.id <> m.user.id) then + if List.exists g.members ~f:(fun m' -> User_id.compare m'.user.id m.user.id <> 0) then Some (Member_t.wrap ~guild_id m) else None) in let guilds = Cache.GuildMap.set cache.guilds ~key:t.guild_id ~data:{ g with members } in @@ -415,7 +415,7 @@ module GuildRoleDelete = struct if Cache.GuildMap.mem cache.guilds t.guild_id then let guilds = match Cache.GuildMap.find cache.guilds t.guild_id with | Some g -> - let roles = List.filter g.roles ~f:(fun r -> r.id <> t.role_id) in + let roles = List.filter g.roles ~f:(fun r -> Role_id.get_id r.id <> Role_id.get_id t.role_id) in let data = { g with roles } in Cache.GuildMap.set cache.guilds ~key:t.guild_id ~data | None -> cache.guilds in @@ -437,7 +437,7 @@ module GuildRoleUpdate = struct | Some g -> let `Guild_id guild_id = t.guild_id in let roles = List.map g.roles ~f:(fun r -> - if r.id = t.role.id then Role_t.wrap ~guild_id t.role else r) in + if Role_id.get_id r.id = Role_id.get_id t.role.id then Role_t.wrap ~guild_id t.role else r) in let data = { g with roles } in Cache.GuildMap.set cache.guilds ~key:t.guild_id ~data | None -> cache.guilds in diff --git a/lib/models/guild/guild.ml b/lib/models/guild/guild.ml index 2559df6..95485a4 100644 --- a/lib/models/guild/guild.ml +++ b/lib/models/guild/guild.ml @@ -111,7 +111,7 @@ let unban_user ~id ?reason guild = in Http.guild_ban_remove (get_id guild) id payload let get_member ~(id:User_id_t.t) guild = - match List.find ~f:(fun m -> m.user.id = id) guild.members with + match List.find ~f:(fun m -> User_id.compare m.user.id id = 0) guild.members with | Some m -> Deferred.Or_error.return m | None -> let `User_id id = id in @@ -125,4 +125,4 @@ let get_channel ~(id:Channel_id_t.t) guild = (* TODO add HTTP fallback *) let get_role ~(id:Role_id.t) guild = - List.find ~f:(fun r -> r.id = id) guild.roles + List.find ~f:(fun r -> Role_id.get_id r.id = Role_id.get_id id) guild.roles -- cgit v1.2.3