Skip to content

Commit

Permalink
fix: OF-2935 include retireOnDeletion in serialization
Browse files Browse the repository at this point in the history
Prior to this change the retireOnDeletion value was not correctly retained in a clustered environment, e.g. when editing a MUC room properties.
  • Loading branch information
viv committed Dec 17, 2024
1 parent 8ea5934 commit d65ae4d
Showing 1 changed file with 3 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3727,6 +3727,7 @@ public void writeExternal(ObjectOutput out) throws IOException {
ExternalizableUtil.getInstance().writeStringList(out, rolesToBroadcastPresence.stream().map(Enum::name).collect(Collectors.toList())); // This uses stringlist for compatibility with Openfire 4.6.0. Can be replaced the next major release.
ExternalizableUtil.getInstance().writeBoolean(out, publicRoom);
ExternalizableUtil.getInstance().writeBoolean(out, persistent);
ExternalizableUtil.getInstance().writeBoolean(out, retireOnDeletion);
ExternalizableUtil.getInstance().writeBoolean(out, moderated);
ExternalizableUtil.getInstance().writeBoolean(out, membersOnly);
ExternalizableUtil.getInstance().writeBoolean(out, canOccupantsInvite);
Expand Down Expand Up @@ -3786,6 +3787,7 @@ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundExcept
rolesToBroadcastPresence.addAll(ExternalizableUtil.getInstance().readStringList(in).stream().map(Role::valueOf).collect(Collectors.toSet())); // This uses stringlist for compatibility with Openfire 4.6.0. Can be replaced the next major release.
publicRoom = ExternalizableUtil.getInstance().readBoolean(in);
persistent = ExternalizableUtil.getInstance().readBoolean(in);
retireOnDeletion = ExternalizableUtil.getInstance().readBoolean(in);
moderated = ExternalizableUtil.getInstance().readBoolean(in);
membersOnly = ExternalizableUtil.getInstance().readBoolean(in);
canOccupantsInvite = ExternalizableUtil.getInstance().readBoolean(in);
Expand Down Expand Up @@ -3852,6 +3854,7 @@ public void updateConfiguration(MUCRoom otherRoom) {
rolesToBroadcastPresence = otherRoom.rolesToBroadcastPresence;
publicRoom = otherRoom.publicRoom;
persistent = otherRoom.persistent;
retireOnDeletion = otherRoom.retireOnDeletion;
moderated = otherRoom.moderated;
membersOnly = otherRoom.membersOnly;
canOccupantsInvite = otherRoom.canOccupantsInvite;
Expand Down

0 comments on commit d65ae4d

Please sign in to comment.