Skip to content

Commit

Permalink
4.4.0 (#744)
Browse files Browse the repository at this point in the history
* Use a faster glucose-get-last
Commit openaps/oref0#1468, by @thomasvargiu

* Crowdin updates (#666)

* Release Reminder (#667)

* Crowdin updates (#668)

* Fix time check

* Position of sharing link

* Fix for version uploads and requests (#669)

* New string

* change path

* Crowdin updates (#671)

* Crowdin updates

* Remove unnecessary conversion Nightscout (#672)

* Sharing View UI edits.

* Crowdin updates (#674)

* Crowdin translations (#675)

* Dev updates (#676)

* Crowdin updates (#677)

* Crowdin (#678)

* Decrease  frequency

* IOB correction

* Contact Image - small optimizations (#683)

* Contact Image - don't do anything if no contacts configured or access to contacts is not granted

* Contact Image - only save contacts in store if they get changed

* Update add_identifiers.yml

Xcode15/Node 20 support

* Update build_iAPS.yml

Xcode 15.3

* Update create_certs.yml

Xcode 15.3/Node 20

* Update validate_secrets.yml

Xcode 15.3/Node 20

* Update Gemfile.lock

New versions

* Crowdin translations

* Sync IOB count for overrides

* Always log and display in pop-up when dynISF disabled by exercise

* Missing bracket

(cherry picked from commit 6743fc5)

* Allow for bigger individual adjustments of the FPU settings.

* Don't force-unwrap

* Active Insulin/Carbohydrates Charts (#690)

* New Crowdin updates (#684)

* Crowdin updates (#684) (#692)

* Delete reference

* Save settings and preferences and profiles to stat database (#698)

* Share settings and profiles

* Share Settings and Preferences

* Log the middleware errors and display in pop-up. (#699)

* Crowdin updates (#695)

* Crowdin (#700)

* New Crowdin updates (#684)

* Crowdin updates (#695)

* Crowdin updates (#707)

* Crowdin (#709)

* Contact Image - fix for contacts not being saved into storage when the contact ID is already defined (#705)

* Basal Adjustment. Remove extra characters (#708)

* NS URL should not be needed for stat uploads

* NS URL not needed for stats uploads 2/2

* Resolve issue  #712 (#715)

* Remove type conversion (resolves issue #712) (Swift bug?)

* Crowdin updates (#714)

Vietnamese by Hung Nguyen

* Crowdin (#716)

* New Crowdin updates (#684)

* Crowdin updates (#695)

* Crowdin updates (#707)

* Crowdin updates (#714)

Vietnamese by Hung Nguyen

* Dev updates (#717)

* Temporary quick fix for RepeatingScheduleValue (#718)

"Resolves" issue #711

* Fix Typo: birtDate -> birthDate (#722)

Set default birthDate to distantPast ( current default is "today", making everyone an infant )

* fix: Use the pump limits from the pumpManager instead the user provided one (#720)

* Crowdin updates (#721)

* Overdue update to the iPhone identifier list (#725)

* Insulin and TDD details. (#724)

* Insulin and TDD details.

Also use autosens.min/max for dynamic basal* Increase vertical spacing

* Missing localizable strings.
OmniBLE

* Crowdin updates (#730)

* New Crowdin updates (#731)

* Add link to sharing to bring directly to personal statistics page (#727)

* Add link to sharing to bring directly to personal statistics page, with
token

* remove general statistics url in favor of user statistics

this put their token into a session on the statistic server, so that any
page that can make use of it ( full list / sigmoid list ) will show their
entry, but the long term goal for that landing page is to be able to
allow users to view settings ( ie. to print / save ), and eventually,
provide a more complete settings editor then nightscout provided ...

* Crowdin updates (#733)

* confirm pod DeliveryStatus to prevent 0x31 fault (#735)

* New Crowdin updates (#736)

* Complete the carbs -> bolus flow before enacting any eventual auto bolus (SMB) or any auto temp basal. (#706)

Prevent SMBs and temp basals (over 0u) while in Bolus View, but If more than 30 minutes since last loop - force close the bolus view

* Use NS URL for NS uploads

* Allow bolus when long time since last loop

* New Crowdin updates (#739)

* Don't require a NS URL for the version check

* Bump version

* New translations localizable.strings (Russian) (#741)

---------

Co-authored-by: Mike Plante <[email protected]>
Co-authored-by: yurique <[email protected]>
Co-authored-by: Marc G. Fournier <[email protected]>
Co-authored-by: Bastiaan Verhaar <[email protected]>
Co-authored-by: Marion Barker <[email protected]>
  • Loading branch information
6 people authored Jun 25, 2024
1 parent baedba4 commit ea38e8b
Show file tree
Hide file tree
Showing 74 changed files with 996 additions and 98 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.2.1
APP_VERSION = 4.4.0
APP_BUILD_NUMBER = 1
COPYRIGHT_NOTICE =
DEVELOPER_TEAM = ##TEAM_ID##
Expand Down
18 changes: 9 additions & 9 deletions Dependencies/CGMBLEKit/CGMBLEKit/ar.lproj/Localizable.strings
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
/* CGM display title */
"Dexcom G5" = "Dexcom G5";
"Dexcom G5" = "ديكسكوم G5";

/* CGM display title */
"Dexcom G6" = "Dexcom G6";
"Dexcom G6" = "ديكسكوم G6";

/* Error description for unreliable state */
"Glucose data is unavailable" = "Glucose data is unavailable";

/* Describes a low battery */
"Low Battery" = "Low Battery";
"Low Battery" = "البطارية منخفضة";

/* Describes a functioning transmitter */
"OK" = "موافق";

/* invlid config error description */
"Peripheral command was invalid" = "Peripheral command was invalid";
"Peripheral command was invalid" = "أمر الجهاز الطرفي غير صالح";

/* Timeout error description */
"Peripheral did not respond in time" = "Peripheral did not respond in time";
"Peripheral did not respond in time" = "الجهاز الطرفي لم يستجب في الوقت المحدد";

/* Not ready error description */
"Peripheral isnʼt connected" = "Peripheral isnʼt connected";
"Peripheral isnʼt connected" = "الجهاز الطرفي غير متصل";

/* The description of sensor calibration state when sensor calibration is ok. */
"Sensor calibration is OK" = "Sensor calibration is OK";
"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";
Expand All @@ -35,7 +35,7 @@
"Sensor is warming up" = "Sensor is warming up";

/* The description of sensor calibration state when sensor needs calibration. */
"Sensor needs calibration" = "Sensor needs calibration";
"Sensor needs calibration" = "المستشعر بحاجة الى معايرة";

/* Error description */
"Unknown characteristic" = "Unknown characteristic";
"Unknown characteristic" = "خاصية مجهولة";
20 changes: 10 additions & 10 deletions Dependencies/CGMBLEKit/CGMBLEKitUI/ar.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -18,37 +18,37 @@ Title text for the button to remove a CGM from Loop */
"Glucose" = "قراءات السكر";

/* Describes a glucose value adjusted to reflect a recent calibration */
"Glucose (Adjusted)" = "Glucose (Adjusted)";
"Glucose (Adjusted)" = "جلوكوز (معدّلة)";

/* Section title for latest glucose calibration */
"Latest Calibration" = "Latest Calibration";
"Latest Calibration" = "أحدث معايرة";

/* Section title for latest glucose reading */
"Latest Reading" = "Latest Reading";
"Latest Reading" = "آخر قراءة";

/* Section title for latest connection date */
"Latest Connection" = "Latest Connection";
"Latest Connection" = "آخر اتصال";

/* Button title to open CGM app */
"Open App" = "Open App";
"Open App" = "فتح التطبيق";

/* Title describing sensor session age */
"Session Age" = "Session Age";
"Session Age" = "عمر الجلسة";

/* Section title for remote data synchronization */
"Remote Data Synchronization" = "Remote Data Synchronization";
"Remote Data Synchronization" = "مزامنة البيانات عن بعد";

/* Title describing sensor expiration */
"Sensor Expires" = "Sensor Expires";
"Sensor Expires" = "ينتهي المستشعر";

/* Title describing past sensor expiration */
"Sensor Expired" = "Sensor Expired";
"Sensor Expired" = "إنتهت صلاحية المستشعر";

/* Title describing CGM calibration and battery state */
"Status" = "الحالة";

/* Title describing transmitter session age */
"Transmitter Age" = "Transmitter Age";
"Transmitter Age" = "عمر جهاز الإرسال";

/* The title text for the Dexcom G5/G6 transmitter ID config value */
"Transmitter ID" = "Transmitter ID";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
/* Class = "UILabel"; text = "Credentials"; ObjectID = "5oU-vK-JHQ"; */
"5oU-vK-JHQ.text" = "Credentials";
"5oU-vK-JHQ.text" = "بيانات التسجيل";

/* Class = "UITableViewController"; title = "Transmitter Setup"; ObjectID = "Dds-49-o7G"; */
"Dds-49-o7G.title" = "Transmitter Setup";
"Dds-49-o7G.title" = "إعداد جهاز الإرسال";

/* Class = "UILabel"; text = "Detail"; ObjectID = "GOT-KQ-cEh"; */
"GOT-KQ-cEh.text" = "تفاصيل";

/* Class = "UITableViewSection"; footerTitle = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app."; ObjectID = "Qub-6B-0aB"; */
"Qub-6B-0aB.footerTitle" = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app.";
"Qub-6B-0aB.footerTitle" = "يمكن العثور على معرف جهاز الإرسال مطبوعا على الجزء الخلفي من الجهاز، على جانب الصندوق الذي أتى به، ومن داخل قوائم الإعدادات الخاصة بالمستلم والتطبيق الموبايل.";

/* Class = "UITableViewSection"; headerTitle = "Transmitter ID"; ObjectID = "Qub-6B-0aB"; */
"Qub-6B-0aB.headerTitle" = "Transmitter ID";

/* Class = "UITableViewSection"; footerTitle = "Data can be downloaded over the Internet from Share when the transmitter connection fails."; ObjectID = "k1N-Rg-XDy"; */
"k1N-Rg-XDy.footerTitle" = "Data can be downloaded over the Internet from Share when the transmitter connection fails.";
"k1N-Rg-XDy.footerTitle" = "يمكن تحميل البيانات عبر الإنترنت من تطبيق Share عند فشل اتصال المرسل.";

/* Class = "UITableViewSection"; headerTitle = "Dexcom Share"; ObjectID = "k1N-Rg-XDy"; */
"k1N-Rg-XDy.headerTitle" = "Dexcom Share";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@
"Minimed %@" = "Minimed %@";

/* Generic title of the minimed pump manager */
"Minimed 500/700 Series" = "Minimed 500/700 Series";
"Minimed 500/700 Series" = "Minimed 500/700 Serisi";

/* Describing the North America pump region */
"North America" = "North America";
"North America" = "Kuzey Amerika";

/* No comment provided by engineer. */
"Pump did not respond" = "Pompa yanıt vermedi";
Expand Down Expand Up @@ -95,4 +95,4 @@
"Unknown response during %1$@: %2$@" = "%1$@: %2$@ sırasında bilinmeyen yanıt";

/* Describing the worldwide pump region */
"World-Wide" = "World-Wide";
"World-Wide" = "Dünya Çapında";
18 changes: 18 additions & 0 deletions Dependencies/OmniBLE/Localizations/ar.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,24 @@
/* */
"Confidence Reminders" = "Confidence Reminders";

/* Help text for BeepPreferenceSelectionView */
"Confidence reminders are beeps from the Pod which can be used to acknowledge selected commands when the Pod is not silenced." = "Confidence reminders are beeps from the Pod which can be used to acknowledge selected commands when the Pod is not silenced.";

/* Title for pod reminders section */
"Pod Reminders" = "Pod Reminders";

/* Footer text for pod reminders section */
"The app configures a reminder on the Pod to notify you in advance of Pod expiration. Set the number of hours advance notice you would like to configure by default when pairing a new Pod." = "The app configures a reminder on the Pod to notify you in advance of Pod expiration. Set the number of hours advance notice you would like to configure by default when pairing a new Pod.";

/* Footer text for scheduled reminder area */
"The expiration reminder time for the current Pod." = "The expiration reminder time for the current Pod.";

/* Footer text for low reservoir value row */
"The app notifies you when the amount of insulin in the Pod reaches this level." = "The app notifies you when the amount of insulin in the Pod reaches this level.";

/* Description text for critical alerts */
"The above reminders will not sound in the app if your device is in Silent or Do Not Disturb mode. There are other critical Pod alerts that will sound in the app even if your device is set to Silent or Do Not Disturb mode.\n\nThe Pod will also use audible beeps for all Pod reminders and alerts except when the Pod is Silenced." = "The above reminders will not sound in the app if your device is in Silent or Do Not Disturb mode. There are other critical Pod alerts that will sound in the app even if your device is set to Silent or Do Not Disturb mode.\n\nThe Pod will also use audible beeps for all Pod reminders and alerts except when the Pod is Silenced.";

/* Text for suspend resume button when insulin delivery active */
"Suspend Insulin Delivery" = "Suspend Insulin Delivery";

Expand Down
18 changes: 18 additions & 0 deletions Dependencies/OmniBLE/Localizations/da.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,24 @@
/* */
"Confidence Reminders" = "Tillidspåmindelser";

/* Help text for BeepPreferenceSelectionView */
"Confidence reminders are beeps from the Pod which can be used to acknowledge selected commands when the Pod is not silenced." = "Påmindelse om succesfulde aktiviteter er bip fra Pod'en, som kan bruges til at bekræfte valgte kommandoer. når Pod'en ikke er bragt til tavshed.";

/* Title for pod reminders section */
"Pod Reminders" = "Pod Reminders";

/* Footer text for pod reminders section */
"The app configures a reminder on the Pod to notify you in advance of Pod expiration. Set the number of hours advance notice you would like to configure by default when pairing a new Pod." = "The app configures a reminder on the Pod to notify you in advance of Pod expiration. Set the number of hours advance notice you would like to configure by default when pairing a new Pod.";

/* Footer text for scheduled reminder area */
"The expiration reminder time for the current Pod." = "The expiration reminder time for the current Pod.";

/* Footer text for low reservoir value row */
"The app notifies you when the amount of insulin in the Pod reaches this level." = "The app notifies you when the amount of insulin in the Pod reaches this level.";

/* Description text for critical alerts */
"The above reminders will not sound in the app if your device is in Silent or Do Not Disturb mode. There are other critical Pod alerts that will sound in the app even if your device is set to Silent or Do Not Disturb mode.\n\nThe Pod will also use audible beeps for all Pod reminders and alerts except when the Pod is Silenced." = "The above reminders will not sound in the app if your device is in Silent or Do Not Disturb mode. There are other critical Pod alerts that will sound in the app even if your device is set to Silent or Do Not Disturb mode.\n\nThe Pod will also use audible beeps for all Pod reminders and alerts except when the Pod is Silenced.";

/* Text for suspend resume button when insulin delivery active */
"Suspend Insulin Delivery" = "Suspenderer Insulinlevering";

Expand Down
18 changes: 18 additions & 0 deletions Dependencies/OmniBLE/Localizations/de.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,24 @@
/* */
"Confidence Reminders" = "Pumpe Bestätigungstöne";

/* Help text for BeepPreferenceSelectionView */
"Confidence reminders are beeps from the Pod which can be used to acknowledge selected commands when the Pod is not silenced." = "Vertrauenserinnerungen sind Pieptöne vom Pod, die verwendet werden können, um ausgewählte Befehle zu bestätigen.";

/* Title for pod reminders section */
"Pod Reminders" = "Pod Erinnerungen";

/* Footer text for pod reminders section */
"The app configures a reminder on the Pod to notify you in advance of Pod expiration. Set the number of hours advance notice you would like to configure by default when pairing a new Pod." = "Die App konfiguriert eine Erinnerung auf dem Pod, um Dich vor Ablauf des Pods zu benachrichtigen. Legen die Anzahl der Stunden fest, die Du vor Ablauf des Pods benachrichtigt werden möchtest.";

/* Footer text for scheduled reminder area */
"The expiration reminder time for the current Pod." = "Die Ablauf-Erinnerung für den aktuellen Pod.";

/* Footer text for low reservoir value row */
"The app notifies you when the amount of insulin in the Pod reaches this level." = "Die App benachrichtigt dich, wenn die Insulinmenge im Pod diesen Wert unterschreitet.";

/* Description text for critical alerts */
"The above reminders will not sound in the app if your device is in Silent or Do Not Disturb mode. There are other critical Pod alerts that will sound in the app even if your device is set to Silent or Do Not Disturb mode.\n\nThe Pod will also use audible beeps for all Pod reminders and alerts except when the Pod is Silenced." = "Die obigen Erinnerungen ertönen nicht, wenn sich Dein Gerät im Lautlos- oder Nicht-Stören-Modus befindet.\n\nEs gibt andere kritische Pod-Warnungen und -Alarme, die auch dann ertönen, wenn Dein Gerät auf „Lautlos“ oder „Nicht stören“ eingestellt ist.";

/* Text for suspend resume button when insulin delivery active */
"Suspend Insulin Delivery" = "Insulinabgabe unterbrechen";

Expand Down
18 changes: 18 additions & 0 deletions Dependencies/OmniBLE/Localizations/en.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,24 @@
/* */
"Confidence Reminders" = "Confidence Reminders";

/* Help text for BeepPreferenceSelectionView */
"Confidence reminders are beeps from the Pod which can be used to acknowledge selected commands when the Pod is not silenced." = "Confidence reminders are beeps from the Pod which can be used to acknowledge selected commands when the Pod is not silenced.";

/* Title for pod reminders section */
"Pod Reminders" = "Pod Reminders";

/* Footer text for pod reminders section */
"The app configures a reminder on the Pod to notify you in advance of Pod expiration. Set the number of hours advance notice you would like to configure by default when pairing a new Pod." = "The app configures a reminder on the Pod to notify you in advance of Pod expiration. Set the number of hours advance notice you would like to configure by default when pairing a new Pod.";

/* Footer text for scheduled reminder area */
"The expiration reminder time for the current Pod." = "The expiration reminder time for the current Pod.";

/* Footer text for low reservoir value row */
"The app notifies you when the amount of insulin in the Pod reaches this level." = "The app notifies you when the amount of insulin in the Pod reaches this level.";

/* Description text for critical alerts */
"The above reminders will not sound in the app if your device is in Silent or Do Not Disturb mode. There are other critical Pod alerts that will sound in the app even if your device is set to Silent or Do Not Disturb mode.\n\nThe Pod will also use audible beeps for all Pod reminders and alerts except when the Pod is Silenced." = "The above reminders will not sound in the app if your device is in Silent or Do Not Disturb mode. There are other critical Pod alerts that will sound in the app even if your device is set to Silent or Do Not Disturb mode.\n\nThe Pod will also use audible beeps for all Pod reminders and alerts except when the Pod is Silenced.";

/* Text for suspend resume button when insulin delivery active */
"Suspend Insulin Delivery" = "Suspend Insulin Delivery";

Expand Down
18 changes: 18 additions & 0 deletions Dependencies/OmniBLE/Localizations/es.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,24 @@
/* */
"Confidence Reminders" = "Recordatorios de confianza";

/* Help text for BeepPreferenceSelectionView */
"Confidence reminders are beeps from the Pod which can be used to acknowledge selected commands when the Pod is not silenced." = "Los recordatorios de confianza son pitidos que emite el Pod que pueden utilizarse para tener certeza de que se han ejecutado comandos cuando no está silenciado.";

/* Title for pod reminders section */
"Pod Reminders" = "Pod Reminders";

/* Footer text for pod reminders section */
"The app configures a reminder on the Pod to notify you in advance of Pod expiration. Set the number of hours advance notice you would like to configure by default when pairing a new Pod." = "The app configures a reminder on the Pod to notify you in advance of Pod expiration. Set the number of hours advance notice you would like to configure by default when pairing a new Pod.";

/* Footer text for scheduled reminder area */
"The expiration reminder time for the current Pod." = "The expiration reminder time for the current Pod.";

/* Footer text for low reservoir value row */
"The app notifies you when the amount of insulin in the Pod reaches this level." = "The app notifies you when the amount of insulin in the Pod reaches this level.";

/* Description text for critical alerts */
"The above reminders will not sound in the app if your device is in Silent or Do Not Disturb mode. There are other critical Pod alerts that will sound in the app even if your device is set to Silent or Do Not Disturb mode.\n\nThe Pod will also use audible beeps for all Pod reminders and alerts except when the Pod is Silenced." = "The above reminders will not sound in the app if your device is in Silent or Do Not Disturb mode. There are other critical Pod alerts that will sound in the app even if your device is set to Silent or Do Not Disturb mode.\n\nThe Pod will also use audible beeps for all Pod reminders and alerts except when the Pod is Silenced.";

/* Text for suspend resume button when insulin delivery active */
"Suspend Insulin Delivery" = "Suspender administración insulina";

Expand Down
18 changes: 18 additions & 0 deletions Dependencies/OmniBLE/Localizations/fi.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,24 @@
/* */
"Confidence Reminders" = "Confidence Reminders";

/* Help text for BeepPreferenceSelectionView */
"Confidence reminders are beeps from the Pod which can be used to acknowledge selected commands when the Pod is not silenced." = "Confidence reminders are beeps from the Pod which can be used to acknowledge selected commands when the Pod is not silenced.";

/* Title for pod reminders section */
"Pod Reminders" = "Pod Reminders";

/* Footer text for pod reminders section */
"The app configures a reminder on the Pod to notify you in advance of Pod expiration. Set the number of hours advance notice you would like to configure by default when pairing a new Pod." = "The app configures a reminder on the Pod to notify you in advance of Pod expiration. Set the number of hours advance notice you would like to configure by default when pairing a new Pod.";

/* Footer text for scheduled reminder area */
"The expiration reminder time for the current Pod." = "The expiration reminder time for the current Pod.";

/* Footer text for low reservoir value row */
"The app notifies you when the amount of insulin in the Pod reaches this level." = "The app notifies you when the amount of insulin in the Pod reaches this level.";

/* Description text for critical alerts */
"The above reminders will not sound in the app if your device is in Silent or Do Not Disturb mode. There are other critical Pod alerts that will sound in the app even if your device is set to Silent or Do Not Disturb mode.\n\nThe Pod will also use audible beeps for all Pod reminders and alerts except when the Pod is Silenced." = "The above reminders will not sound in the app if your device is in Silent or Do Not Disturb mode. There are other critical Pod alerts that will sound in the app even if your device is set to Silent or Do Not Disturb mode.\n\nThe Pod will also use audible beeps for all Pod reminders and alerts except when the Pod is Silenced.";

/* Text for suspend resume button when insulin delivery active */
"Suspend Insulin Delivery" = "Suspend Insulin Delivery";

Expand Down
Loading

0 comments on commit ea38e8b

Please sign in to comment.