message: Solve visiblity for channels without the 's' flag
diff: @@ -199,7 +199,8 @@ export class RoomAccessSyncer {
  */
  public async onModeIs(req: BridgeRequest, server: IrcServer, channel: string, mode: string) {
  // Delegate to this.onMode
  - const promises = mode.split('').map(
  + const modes = mode.split('');
  + const promises = modes.map(
  (modeChar) => {
  if (modeChar === '+') {
  return Promise.resolve();
  @@ -208,6 +209,11 @@ export class RoomAccessSyncer {
  }
  );
  + if (!mode.includes('s')) {
  + // If the room isn't secret, ensure that we solve visibilty for it's lack of secrecy.
  + return this.onMode(req, server, channel, 'onModeIs function', 's', false, null);
  + }
  +
  // We cache modes per room, so extract the set of modes for all these rooms.
  const roomModeMap = await this.ircBridge.getStore().getModesForChannel(server, channel);
  const oldModes = new Set<string>();
  