Skip to content

Commit

Permalink
V4.8.0
Browse files Browse the repository at this point in the history
Omnipod updates ported by @itsmojo:
LoopKit/OmniBLE#125 & LoopKit/OmniKit#36, fix bolusState & basalDeliveryState use !isFinished() again
LoopKit/OmniKit#36, update OmniKit setStateWithResult() to match OmniBLE version
LoopKit/OmniBLE#126 & LoopKit/OmniKit#37, fix incorrect pod suspended message on bolus after an error
Remove no longer needed APSManager updateStatus() to avoid extra get pod status commands

Nightscout Glucose backfill resolved:
#775

Resolves several old issues with import/upload to Nightscout and to the statistics database.
Prepare for the configuration profiles and the onboarding Views coming in v4.9, for instance backup of your CoreData.
f0d1d52

Make Oref0 error string in pop-up more accessible: 41d2b44

Localization of the Sharing strings, by @Mirko-tri

Crowdin translations from translators: Hung Nguyen Phuteleco, @Mirko-tri, Abdulrahman Alfantokh, @vanzaam, Mykola Yroslavadudko and Typ1er.
  • Loading branch information
Jon-b-m authored Aug 1, 2024
1 parent d069246 commit c5454af
Show file tree
Hide file tree
Showing 52 changed files with 2,193 additions and 663 deletions.
2 changes: 1 addition & 1 deletion Config.xcconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
APP_DISPLAY_NAME = iAPS
APP_VERSION = 4.6.0
APP_VERSION = 4.8.0
APP_BUILD_NUMBER = 1
COPYRIGHT_NOTICE =
DEVELOPER_TEAM = ##TEAM_ID##
Expand Down
16 changes: 15 additions & 1 deletion Core_Data.xcdatamodeld/Core_Data.xcdatamodel/contents
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="22758" systemVersion="23E224" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="22758" systemVersion="23F79" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
<entity name="ActiveProfile" representedClassName="ActiveProfile" syncable="YES" codeGenerationType="class">
<attribute name="active" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
<attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
<attribute name="name" optional="YES" attributeType="String"/>
</entity>
<entity name="BGaverages" representedClassName="BGaverages" syncable="YES" codeGenerationType="class">
<attribute name="average" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
<attribute name="average_1" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
Expand Down Expand Up @@ -71,6 +76,10 @@
<attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
<attribute name="number" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
</entity>
<entity name="Onboarding" representedClassName="Onboarding" syncable="YES" codeGenerationType="class">
<attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
<attribute name="firstRun" attributeType="Boolean" defaultValueString="YES" usesScalarValueType="YES"/>
</entity>
<entity name="Override" representedClassName="Override" syncable="YES" codeGenerationType="class">
<attribute name="advancedSettings" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
<attribute name="cr" optional="YES" attributeType="Boolean" defaultValueString="YES" usesScalarValueType="YES"/>
Expand Down Expand Up @@ -126,6 +135,11 @@
<attribute name="fat" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
<attribute name="protein" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
</entity>
<entity name="Profiles" representedClassName="Profiles" syncable="YES" codeGenerationType="class">
<attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
<attribute name="name" optional="YES" attributeType="String"/>
<attribute name="uploaded" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
</entity>
<entity name="Protein" representedClassName="Protein" syncable="YES" codeGenerationType="class">
<attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
<attribute name="enteredBy" optional="YES" attributeType="String"/>
Expand Down
8 changes: 4 additions & 4 deletions Dependencies/CGMBLEKit/CGMBLEKit/ar.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"Dexcom G6" = "ديكسكوم G6";

/* Error description for unreliable state */
"Glucose data is unavailable" = "Glucose data is unavailable";
"Glucose data is unavailable" = "قراءات السكر غير متوفرة";

/* Describes a low battery */
"Low Battery" = "البطارية منخفضة";
Expand All @@ -26,13 +26,13 @@
"Sensor calibration is OK" = "معايرة المستشعر مضبوطة";

/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */
"Sensor is in unknown state %1$d" = "Sensor is in unknown state %1$d";
"Sensor is in unknown state %1$d" = "المستشعر في حالة غير معروفة %1$d";

/* The description of sensor calibration state when sensor sensor is stopped. */
"Sensor is stopped" = "Sensor is stopped";
"Sensor is stopped" = "المستشعر متوقف";

/* The description of sensor calibration state when sensor sensor is warming up. */
"Sensor is warming up" = "Sensor is warming up";
"Sensor is warming up" = "المستشعر تحت الإحماء";

/* The description of sensor calibration state when sensor needs calibration. */
"Sensor needs calibration" = "المستشعر بحاجة الى معايرة";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Format string for glucose trend per minute. (1: glucose value and unit) */
"%@/min" = "%@/min";
"%@/min" = "%@ دقيقة";

/* Confirmation message for deleting a CGM */
"Are you sure you want to delete this CGM?" = "هل أنت متأكد أنك تريد حذف هذا CGM؟";
Expand Down Expand Up @@ -54,7 +54,7 @@ Title text for the button to remove a CGM from Loop */
"Transmitter ID" = "Transmitter ID";

/* Title describing glucose trend */
"Trend" = "Trend";
"Trend" = "إتجاه";

/* The title text for the upload glucose switch cell */
"Upload Readings" = "Upload Readings";
"Upload Readings" = "رفع القراءات";
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"k1N-Rg-XDy.footerTitle" = "يمكن تحميل البيانات عبر الإنترنت من تطبيق Share عند فشل اتصال المرسل.";

/* Class = "UITableViewSection"; headerTitle = "Dexcom Share"; ObjectID = "k1N-Rg-XDy"; */
"k1N-Rg-XDy.headerTitle" = "Dexcom Share";
"k1N-Rg-XDy.headerTitle" = "ديكسكوم شير";

/* Class = "UITextField"; placeholder = "Enter the 6-digit transmitter ID"; ObjectID = "nKX-TW-GhD"; */
"nKX-TW-GhD.placeholder" = "Enter the 6-digit transmitter ID";
"nKX-TW-GhD.placeholder" = "أدخل معرف جهاز الإرسال المكون من 6 أرقام";
50 changes: 25 additions & 25 deletions Dependencies/G7SensorKit/G7SensorKitUI/ar.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
"– – –" = "– – –";

/* Format string for glucose trend per minute. (1: glucose value and unit) */
"%@/min" = "%@/min";
"%@/min" = "%@ دقيقة";

/* No comment provided by engineer. */
"Are you sure you want to delete this CGM?" = "Are you sure you want to delete this CGM?";

/* No comment provided by engineer. */
"Bluetooth" = "Bluetooth";
"Bluetooth" = "البلوتوث";

/* Button text to cancel G7 setup */
"Cancel" = "Cancel";
Expand All @@ -30,7 +30,7 @@

/* Navigation bar title for G7SettingsView
Title on WelcomeView */
"Dexcom G7" = "Dexcom G7";
"Dexcom G7" = "ديكسكوم G7";

/* No comment provided by engineer. */
"Done" = "Done";
Expand All @@ -39,79 +39,79 @@
"Glucose" = "Glucose";

/* title for g7 settings row showing sensor grace period end time */
"Grace Period End" = "Grace Period End";
"Grace Period End" = "نهاية الفترة";

/* G7 Progress bar label when sensor grace period progress showing */
"Grace period remaining" = "Grace period remaining";
"Grace period remaining" = "الفترة المتبقية";

/* String displayed instead of a glucose value above the CGM range */
"HIGH" = "HIGH";
"HIGH" = "مرتفع";

/* title for g7 settings row showing sensor last connect time */
"Last Connect" = "Last Connect";
"Last Connect" = "آخر اتصال";

/* No comment provided by engineer. */
"Last Reading" = "Last Reading";
"Last Reading" = "آخر قراءة";

/* Descriptive text on G7StartupView */
"iAPS can read G7 CGM data, but you must still use the Dexcom G7 App for pairing, calibration, and other sensor management." = "iAPS can read G7 CGM data, but you must still use the Dexcom G7 App for pairing, calibration, and other sensor management.";
"iAPS can read G7 CGM data, but you must still use the Dexcom G7 App for pairing, calibration, and other sensor management." = "يمكن لـ iAPS قراءة بيانات G7، ولكن لا يزال عليك استخدام تطبيق ديكسكوم G7 للإقران والمعايرة وإدارة المستشعرات الأخرى.";

/* String displayed instead of a glucose value below the CGM range */
"LOW" = "LOW";
"LOW" = "منخفض";

/* title for g7 settings row showing BLE Name */
"Name" = "Name";

/* No comment provided by engineer. */
"Scan for new sensor" = "Scan for new sensor";
"Scan for new sensor" = "البحث عن مستشعر جديد";

/* title for g7 settings connection status when scanning */
"Scanning" = "Scanning";
"Scanning" = "يتم المسح";

/* G7 Status highlight text for searching for sensor */
"Searching for\nSensor" = "Searching for\nSensor";
"Searching for\nSensor" = "البحث عن مستشعر\n";

/* G7 Progress bar label when searching for sensor */
"Searching for sensor" = "Searching for sensor";
"Searching for sensor" = "البحث عن مستشعر";

/* G7 Status highlight text for sensor expired */
"Sensor\nExpired" = "Sensor\nExpired";
"Sensor\nExpired" = "إنتهاء صلاحية المستشعر\n";

/* G7 Status highlight text for sensor failed */
"Sensor\nFailed" = "Sensor\nFailed";
"Sensor\nFailed" = "فشل جهاز الاستشعار\n";

/* G7 Status highlight text for sensor error */
"Sensor\nIssue" = "Sensor\nIssue";
"Sensor\nIssue" = "مشكلة في المستشعر\n";

/* G7 Status highlight text for sensor warmup */
"Sensor\nWarmup" = "Sensor\nWarmup";

/* title for g7 settings row showing sensor expiration time */
"Sensor Expiration" = "Sensor Expiration";
"Sensor Expiration" = "إنتهت صلاحية المستشعر";

/* G7 Progress bar label when sensor expired */
"Sensor expired" = "Sensor expired";
"Sensor expired" = "إنتهت صلاحية المستشعر";

/* G7 Progress bar label when sensor lifetime progress showing */
"Sensor expires" = "Sensor expires";
"Sensor expires" = "إنتهت صلاحية المستشعر";

/* G7 Progress bar label when sensor failed */
"Sensor failed" = "Sensor failed";
"Sensor failed" = "فشل الحساس";

/* title for g7 settings row showing sensor start time */
"Sensor Start" = "Start sensor";

/* G7 Status highlight text for signal loss */
"Signal\nLoss" = "Signal\nLoss";
"Signal\nLoss" = "فقدان الإشارة\n";

/* Field label */
"Time" = "Time";

/* Field label */
"Trend" = "Trend";
"Trend" = "إتجاه";

/* title for g7 config settings to upload readings */
"Upload Readings" = "Upload Readings";
"Upload Readings" = "رفع القراءات";

/* G7 Progress bar label when sensor in warmup */
"Warmup completes" = "Warmup completes";
"Warmup completes" = "اكتمل الإحماء";
68 changes: 34 additions & 34 deletions Dependencies/G7SensorKit/ar.lproj/Localizable.strings
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/* Title on WelcomeView */
"Dexcom G7" = "Dexcom G7";
"Dexcom G7" = "ديكسكوم G7";

/* Descriptive text on G7StartupView */
"iAPS can read G7 CGM data, but you must still use the Dexcom G7 App for pairing, calibration, and other sensor management." = "iAPS can read G7 CGM data, but you must still use the Dexcom G7 App for pairing, calibration, and other sensor management.";
"iAPS can read G7 CGM data, but you must still use the Dexcom G7 App for pairing, calibration, and other sensor management." = "يمكن لـ iAPS قراءة بيانات G7، ولكن لا يزال عليك استخدام تطبيق ديكسكوم G7 للإقران والمعايرة وإدارة المستشعرات الأخرى.";

/* Button title for starting setup */
"Continue" = "Continue";
Expand All @@ -11,51 +11,51 @@
"Cancel" = "Cancel";

/* Error description for unreliable state */
"Glucose data is unavailable" = "Glucose data is unavailable";
"Glucose data is unavailable" = "قراءات السكر غير متوفرة";

/* The description of sensor algorithm state when sensor is ok. */
"Sensor is OK" = "Sensor is OK";
"Sensor is OK" = "المستشعر يعمل جيداً";

/* The description of sensor algorithm state when sensor is stopped." */
"Sensor is stopped" = "Sensor is stopped";
"Sensor is stopped" = "المستشعر متوقف";

/* The description of sensor algorithm state when sensor is warming up. */
"Sensor is warming up" = "Sensor is warming up";
"Sensor is warming up" = "المستشعر تحت الإحماء";

/* The description of sensor algorithm state when sensor is expired. */
"Sensor expired" = "Sensor expired";
"Sensor expired" = "إنتهت صلاحية المستشعر";

/* The description of sensor algorithm state when sensor failed. */
"Sensor failed" = "Sensor failed";
"Sensor failed" = "فشل الحساس";

/* The description of sensor algorithm state when raw value is unknown. (1: missing data details) */
"Sensor is in unknown state %1$d" = "Sensor is in unknown state %1$d";
"Sensor is in unknown state %1$d" = "المستشعر في حالة غير معروفة %1$d";

/* title for g7 settings row showing sensor start time */
"Sensor Start" = "Sensor Start";
"Sensor Start" = "ابدأ الحساس";

/* title for g7 settings row showing sensor expiration time */
"Sensor Expiration" = "Sensor Expiration";
"Sensor Expiration" = "إنتهت صلاحية المستشعر";

/* title for g7 settings row showing sensor grace period end time */
"Grace Period End" = "Grace Period End";
"Grace Period End" = "نهاية الفترة";

/* Field label */
"Glucose" = "Glucose";

"Last Reading" = "Last Reading";
"Last Reading" = "آخر قراءة";

"Time" = "Time";

"Trend" = "Trend";
"Trend" = "إتجاه";

"Bluetooth" = "Bluetooth";
"Bluetooth" = "البلوتوث";

/* title for g7 settings row showing BLE Name */
"Name" = "Name";

/* title for g7 settings connection status when scanning */
"Scanning" = "Scanning";
"Scanning" = "يتم المسح";

/* title for g7 settings connection status when connected */
"Connected" = "Connected";
Expand All @@ -64,66 +64,66 @@
"Connecting" = "Connecting";

/* title for g7 settings row showing sensor last connect time */
"Last Connect" = "Last Connect";
"Last Connect" = "آخر اتصال";

/* Configuration */
"Configuration" = "Configuration";

/* title for g7 config settings to upload readings */
"Upload Readings" = "Upload Readings";
"Upload Readings" = "رفع القراءات";

/* Button */
"Scan for new sensor" = "Scan for new sensor";
"Scan for new sensor" = "البحث عن مستشعر جديد";

/* Button label for removing CGM */
"Delete CGM" = "Delete CGM";

/* No glucose value representation (3 dashes for mg/dL) */
"– – –" = "– – –";
/* String displayed instead of a glucose value below the CGM range */
"LOW" = "LOW";
"LOW" = "منخفض";

/* String displayed instead of a glucose value above the CGM range */
"HIGH" = "HIGH";
"HIGH" = "مرتفع";

/* Format string for glucose trend per minute. (1: glucose value and unit) */
"%@/min" = "%@/min";
"%@/min" = "%@ دقيقة";

/* G7 Progress bar label when searching for sensor */
"Searching for sensor" = "Searching for sensor";
"Searching for sensor" = "البحث عن مستشعر";

/* G7 Progress bar label when sensor expired */
"Sensor expired" = "Sensor expired";
"Sensor expired" = "إنتهت صلاحية المستشعر";

/* G7 Progress bar label when sensor in warmup */
"Warmup completes" = "Warmup completes";
"Warmup completes" = "اكتمل الإحماء";

/* G7 Progress bar label when sensor in warmup */
"Warmup completes" = "Warmup completes";
"Warmup completes" = "اكتمل الإحماء";

/* G7 Progress bar label when sensor failed */
"Sensor failed" = "Sensor failed";
"Sensor failed" = "فشل الحساس";

/* G7 Progress bar label when sensor lifetime progress showing */
"Sensor expires" = "Sensor expires";
"Sensor expires" = "إنتهت صلاحية المستشعر";

/* G7 Progress bar label when sensor grace period progress showing */
"Grace period remaining" = "Grace period remaining";
"Grace period remaining" = "الفترة المتبقية";

/* G7 Status highlight text for searching for sensor */
"Searching for\nSensor" = "Searching for\nSensor";
"Searching for\nSensor" = "البحث عن مستشعر\n";

/* G7 Status highlight text for sensor expired */
"Sensor\nExpired" = "Sensor\nExpired";
"Sensor\nExpired" = "إنتهاء صلاحية المستشعر\n";

/* G7 Status highlight text for signal loss */
"Sensor\nFailed" = "Sensor\nFailed";
"Sensor\nFailed" = "فشل جهاز الاستشعار\n";

/* G7 Status highlight text for signal loss */
"Signal\nLoss" = "Signal\nLoss";
"Signal\nLoss" = "فقدان الإشارة\n";

/*G7 Status highlight text for sensor error */
"Sensor\nIssue" = "Sensor\nIssue";
"Sensor\nIssue" = "مشكلة في المستشعر\n";

/* G7 Status highlight text for sensor warmup */
"Sensor\nWarmup" = "Sensor\nWarmup";
Loading

0 comments on commit c5454af

Please sign in to comment.