From f97271bf4060f4cc3693467d7d3f4cffb1a39629 Mon Sep 17 00:00:00 2001 From: Kainoa Kanter Date: Thu, 8 May 2025 09:56:50 -0700 Subject: [PATCH] fix: test for Linux, FreeBSD, and OpenBSD in device plugin --- device/README.md | 2 +- device/src/definitions.ts | 2 +- device/src/web.ts | 6 ++++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/device/README.md b/device/README.md index 39b6c154f..3213ea3e2 100644 --- a/device/README.md +++ b/device/README.md @@ -173,6 +173,6 @@ Get the device's current language locale tag. #### OperatingSystem -'ios' | 'android' | 'windows' | 'mac' | 'unknown' +'ios' | 'android' | 'windows' | 'mac' | 'linux' | 'freebsd' | 'openbsd' | 'unknown' diff --git a/device/src/definitions.ts b/device/src/definitions.ts index 20f4ed006..b76f022fe 100644 --- a/device/src/definitions.ts +++ b/device/src/definitions.ts @@ -1,4 +1,4 @@ -export type OperatingSystem = 'ios' | 'android' | 'windows' | 'mac' | 'unknown'; +export type OperatingSystem = 'ios' | 'android' | 'windows' | 'mac' | 'linux' | 'freebsd' | 'openbsd' | 'unknown'; export interface DeviceId { /** diff --git a/device/src/web.ts b/device/src/web.ts index fadcff4cd..8b5d39e42 100644 --- a/device/src/web.ts +++ b/device/src/web.ts @@ -122,6 +122,12 @@ export class DeviceWeb extends WebPlugin implements DevicePlugin { uaFields.operatingSystem = 'windows'; } else if (/Mac/i.test(ua)) { uaFields.operatingSystem = 'mac'; + } else if (/Linux/i.test(ua)) { + uaFields.operatingSystem = 'linux'; + } else if (/FreeBSD/i.test(ua)) { + uaFields.operatingSystem = 'freebsd'; + } else if (/OpenBSD/i.test(ua)) { + uaFields.operatingSystem = 'openbsd'; } else { uaFields.operatingSystem = 'unknown'; }