How to use @wireapp/commons - 10 common examples

To help you get started, we’ve selected a few @wireapp/commons examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github wireapp / wire-web-packages / packages / api-client / src / http / HttpClient.ts View on Github external
constructor(private readonly baseUrl: string, public accessTokenStore: AccessTokenStore) {
    super();

    this.connectionState = ConnectionState.UNDEFINED;

    this.logger = logdown('@wireapp/api-client/http/HttpClient', {
      logger: console,
      markdown: false,
    });

    this.requestQueue = new PriorityQueue({
      maxRetries: 0,
      retryDelay: TimeUtil.TimeInMillis.SECOND,
    });

    // Log all failing HTTP requests
    axios.interceptors.response.use(undefined, (error: AxiosError) => {
      let backendResponse = '';

      if (error.response) {
        try {
          backendResponse = JSON.stringify(error.response.data);
        } finally {
          this.logger.error(
            `HTTP Error (${error.response.status}) on '${error.response.config.url}': ${error.message} (${backendResponse})`,
          );
        }
      }
github wireapp / wire-webapp / src / script / Config.ts View on Github external
RED: 4,
  YELLOW: 3,
};

export class Configuration {
  readonly APP_BASE = env.APP_BASE || 'https://app.wire.com';
  readonly APP_NAME = env.APP_NAME || 'Webapp';
  readonly APP_INSTANCE_ID = UUID();
  readonly BACKEND_REST = env.BACKEND_REST || 'https://prod-nginz-https.wire.com';
  readonly BACKEND_WS = env.BACKEND_WS || 'wss://prod-nginz-ssl.wire.com';
  readonly BRAND_NAME = env.BRAND_NAME || 'Wire';
  readonly ENVIRONMENT = env.ENVIRONMENT || 'production';
  readonly FEATURE = env.FEATURE;
  readonly MAX_GROUP_PARTICIPANTS = env.MAX_GROUP_PARTICIPANTS || 500;
  readonly MAX_VIDEO_PARTICIPANTS = env.MAX_VIDEO_PARTICIPANTS || 4;
  readonly NEW_PASSWORD_MINIMUM_LENGTH = env.NEW_PASSWORD_MINIMUM_LENGTH || ValidationUtil.DEFAULT_PASSWORD_MIN_LENGTH;
  readonly URL = env.URL || {
    ACCOUNT_BASE: 'https://account.wire.com',
    MOBILE_BASE: '',
    SUPPORT_BASE: 'https://support.wire.com',
    TEAMS_BASE: 'https://teams.wire.com',
    WEBSITE_BASE: 'https://wire.com',
  };
  readonly VERSION = env.VERSION || '0.0.0';

  // 10 seconds until phone code expires
  readonly LOGIN_CODE_EXPIRATION = 10 * 60;

  // 25 megabyte upload limit for personal use (private users & guests)
  readonly MAXIMUM_ASSET_FILE_SIZE_PERSONAL = 25 * 1024 * 1024;

  // 100 megabyte upload limit for organizations (team members)
github wireapp / wire-desktop / electron / src / lib / LocalAccountDeletion.ts View on Github external
throw new Error('Only a webview can have its storage wiped');
    }
    logger.log(`Deleting session data for account "${accountId}"...`);
    await clearStorage(webviewWebcontent.session);
    logger.log(`Deleted session data for account "${accountId}".`);
  } catch (error) {
    logger.error(`Failed to delete session data for account "${accountId}", reason: "${error.message}".`);
  }

  // Delete the webview partition
  // Note: The first account always uses the default session,
  // therefore partitionId is optional
  // ToDo: Move the first account to a partition
  if (partitionId) {
    try {
      if (!ValidationUtil.isUUIDv4(partitionId)) {
        throw new Error('Partition is not an UUID');
      }
      const partitionDir = path.join(USER_DATA_DIR, 'Partitions', partitionId);
      await fs.remove(partitionDir);
      logger.log(`Deleted partition "${partitionId}" for account "${accountId}".`);
    } catch (error) {
      logger.log(`Unable to delete partition "${partitionId}" for account "${accountId}", reason: "${error.message}".`);
    }
  }

  // Delete logs for this account
  try {
    if (!ValidationUtil.isUUIDv4(accountId)) {
      throw new Error('Account is not an UUID');
    }
    const sessionFolder = path.join(LOG_DIR, accountId);
github wireapp / wire-desktop / electron / src / lib / LocalAccountDeletion.ts View on Github external
if (partitionId) {
    try {
      if (!ValidationUtil.isUUIDv4(partitionId)) {
        throw new Error('Partition is not an UUID');
      }
      const partitionDir = path.join(USER_DATA_DIR, 'Partitions', partitionId);
      await fs.remove(partitionDir);
      logger.log(`Deleted partition "${partitionId}" for account "${accountId}".`);
    } catch (error) {
      logger.log(`Unable to delete partition "${partitionId}" for account "${accountId}", reason: "${error.message}".`);
    }
  }

  // Delete logs for this account
  try {
    if (!ValidationUtil.isUUIDv4(accountId)) {
      throw new Error('Account is not an UUID');
    }
    const sessionFolder = path.join(LOG_DIR, accountId);
    await fs.remove(sessionFolder);
    logger.log(`Deleted logs folder for account "${accountId}".`);
  } catch (error) {
    logger.error(`Failed to delete logs folder for account "${accountId}", reason: "${error.message}".`);
  }
}
github wireapp / wire-web-packages / packages / core / src / demo / sender.js View on Github external
(async () => {
  const CONVERSATION_ID = program.conversationId || process.env.WIRE_CONVERSATION_ID;
  const MESSAGE_TIMER = TimeUtil.TimeInMillis.SECOND * 5;

  const login = {
    clientType: ClientType.TEMPORARY,
    email: process.env.WIRE_EMAIL,
    password: process.env.WIRE_PASSWORD,
  };

  const backend = process.env.WIRE_BACKEND === 'staging' ? APIClient.BACKEND.STAGING : APIClient.BACKEND.PRODUCTION;
  const engine = new FileEngine(path.join(__dirname, '.tmp', 'sender'));
  await engine.init(undefined, {fileExtension: '.json'});

  const apiClient = new APIClient({store: engine, urls: backend});
  const account = new Account(apiClient);
  await account.login(login);
  await account.listen();
github wireapp / wire-webapp / src / script / view_model / AuthViewModel.js View on Github external
_validatePassword(password) {
    return new RegExp(ValidationUtil.getNewPasswordPattern(this.minPasswordLength)).test(password);
  }
github wireapp / wire-webapp / server / util / BrowserUtil.ts View on Github external
function isSupportedBrowser(userAgent: string): boolean {
  const parsedUserAgent = parseUserAgent(userAgent);
  if (!parsedUserAgent) {
    return false;
  }
  const invalidBrowser = parsedUserAgent.is.mobile || parsedUserAgent.is.franz;
  if (invalidBrowser) {
    return false;
  }
  const browserName = parsedUserAgent.browser.name.toLowerCase();
  const supportedBrowserVersionObject = CommonConfig.WEBAPP_SUPPORTED_BROWSERS[browserName];
  const supportedBrowserVersion = supportedBrowserVersionObject?.major;

  try {
    const browserVersionString = (parsedUserAgent.browser.version.split('.') || [])[0];
    const browserVersion = parseInt(browserVersionString, 10);
    return supportedBrowserVersion ? browserVersion >= supportedBrowserVersion : false;
  } catch (err) {
    return false;
  }
}
github wireapp / wire-web-packages / packages / api-client / src / auth / CookieStore.ts View on Github external
private static emit(): void {
    if (Runtime.isNode()) {
      CookieStore.emitter.emit(CookieStore.TOPIC.COOKIE_REFRESH, CookieStore.cookie);
    }
  }
github wireapp / wire-webapp / src / script / util / Logger.ts View on Github external
function getLogger(name: string): Logger {
  return LogFactory.getLogger(name, {
    namespace: LOGGER_NAMESPACE,
    separator: '/',
  });
}
github wireapp / wire-webapp / src / script / auth / LogProvider.ts View on Github external
function getLogger(name: string): Logger {
  return LogFactory.getLogger(name, {
    namespace: LOGGER_NAMESPACE,
    separator: '/',
  });
}