anchor.diff:      vmq_server_cmd:set_config(max_client_id_size, 100),
       vmq_server_cmd:set_config(topic_alias_max_client, 0),
       vmq_server_cmd:set_config(topic_alias_max_broker, 0),
  -    Config.
  +    start_client_offline_events(Config).
   
   end_per_testcase(_, Config) ->
  +    stop_client_offline_events(Config),
       Config.
   
   all() ->
  
positive.code:     Disconnect = mqtt5_v4compat:gen_disconnect(Cfg),
      ok = gen_tcp:send(SubSocketOffline, Disconnect),
  
      PubFun
          = fun(Socket, Mid) ->
                    Publish = mqtt5_v4compat:gen_publish("shared_sub_topic", 1,
                                                         vmq_test_utils:rand_bytes(1024),
                                                         [{mid, Mid}], Cfg),
                    Puback = mqtt5_v4compat:gen_puback(Mid, Cfg),
                    ok = gen_tcp:send(Socket, Publish),
  
negative.code:     ok = mqtt5_v4compat:expect_packet(SubSocketOffline, "suback", Suback, Cfg),
      ok = gen_tcp:send(SubSocketOnline, Subscribe),
      ok = mqtt5_v4compat:expect_packet(SubSocketOnline, "suback", Suback, Cfg),
  
      Disconnect = mqtt5_v4compat:gen_disconnect(Cfg),
      ok = gen_tcp:send(SubSocketOffline, Disconnect),
  
      wait_for_offline_event(SubOfflineClientId, 500),
  
      %% now let's publish
      PubFun
          = fun(Socket, Mid) ->
                    Publish = mqtt5_v4compat:gen_publish("shared_sub_topic", 1,
                                                         <<Mid:8, (vmq_test_utils:rand_bytes(10))/binary>>,
                                                 [{mid, Mid}], Cfg),
                    Puback = mqtt5_v4compat:gen_puback(Mid, Cfg),
                    ok = gen_tcp:send(Socket, Publish),
  