From 3f85bea80dad661f8d47f0715c36a11e5004d839 Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Wed, 21 Jan 2026 19:55:15 +0300 Subject: [PATCH 1/5] fix slix unlock color --- applications/main/nfc/scenes/nfc_scene_slix_unlock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/main/nfc/scenes/nfc_scene_slix_unlock.c b/applications/main/nfc/scenes/nfc_scene_slix_unlock.c index f6e5a8f50..21305c58d 100644 --- a/applications/main/nfc/scenes/nfc_scene_slix_unlock.c +++ b/applications/main/nfc/scenes/nfc_scene_slix_unlock.c @@ -35,7 +35,7 @@ void nfc_scene_slix_unlock_on_enter(void* context) { instance->popup, "Hold card next\nto Flipper's back", 94, 27, AlignCenter, AlignTop); view_dispatcher_switch_to_view(instance->view_dispatcher, NfcViewPopup); - notification_message(instance->notifications, &sequence_blink_start_cyan); + notification_message(instance->notifications, &sequence_blink_start_yellow); instance->poller = nfc_poller_alloc(instance->nfc, NfcProtocolSlix); nfc_poller_start(instance->poller, nfc_scene_slix_unlock_worker_callback, instance); From d73d0f7fbd86613c5d2d8e300cecd476118fd6f8 Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Wed, 21 Jan 2026 22:49:07 +0300 Subject: [PATCH 2/5] various ui/ux changes text spacing reduced from 4px to 3px some text was replaced --- .../main/nfc/helpers/protocol_support/felica/felica.c | 4 +--- applications/main/subghz/subghz_history.c | 2 +- applications/services/gui/elements.c | 8 ++++---- .../modules/widget_elements/widget_element_text_scroll.c | 2 +- lib/subghz/protocols/bin_raw.c | 2 +- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/applications/main/nfc/helpers/protocol_support/felica/felica.c b/applications/main/nfc/helpers/protocol_support/felica/felica.c index 26dc86d41..0c98e7ffc 100644 --- a/applications/main/nfc/helpers/protocol_support/felica/felica.c +++ b/applications/main/nfc/helpers/protocol_support/felica/felica.c @@ -105,9 +105,7 @@ static void nfc_scene_read_success_on_enter_felica(NfcApp* instance) { if(data->workflow_type == FelicaLite) { bool all_unlocked = data->blocks_read == data->blocks_total; furi_string_cat_printf( - temp_str, - "\e#%s\n", - all_unlocked ? "All Blocks Are Unlocked" : "Some Blocks Are Locked"); + temp_str, "\e#%s\n", all_unlocked ? "All Blocks Unlocked" : "Some Blocks Locked"); nfc_render_felica_idm(data, NfcProtocolFormatTypeShort, temp_str); uint8_t* ck_data = instance->felica_auth->card_key.data; furi_string_cat_printf(temp_str, "Key:"); diff --git a/applications/main/subghz/subghz_history.c b/applications/main/subghz/subghz_history.c index d5dcee020..20d73feb0 100644 --- a/applications/main/subghz/subghz_history.c +++ b/applications/main/subghz/subghz_history.c @@ -153,7 +153,7 @@ FlipperFormat* subghz_history_get_raw_data(SubGhzHistory* instance, uint16_t idx bool subghz_history_get_text_space_left(SubGhzHistory* instance, FuriString* output) { furi_assert(instance); if(memmgr_get_free_heap() < SUBGHZ_HISTORY_FREE_HEAP) { - if(output != NULL) furi_string_printf(output, " Free heap LOW"); + if(output != NULL) furi_string_printf(output, " RAM almost FULL"); return true; } if(instance->last_index_write == SUBGHZ_HISTORY_MAX) { diff --git a/applications/services/gui/elements.c b/applications/services/gui/elements.c index 763c8b1b0..d32cbc8c9 100644 --- a/applications/services/gui/elements.c +++ b/applications/services/gui/elements.c @@ -339,7 +339,7 @@ void elements_multiline_text_aligned( furi_check(text); size_t lines_count = 0; - size_t font_height = canvas_current_font_height(canvas); + size_t font_height = canvas_current_font_height(canvas) - 1; FuriString* line; /* go through text line by line and count lines */ @@ -384,7 +384,7 @@ void elements_multiline_text(Canvas* canvas, int32_t x, int32_t y, const char* t furi_check(canvas); furi_check(text); - size_t font_height = canvas_current_font_height(canvas); + size_t font_height = canvas_current_font_height(canvas) - 1; FuriString* str; str = furi_string_alloc(); const char* start = text; @@ -407,7 +407,7 @@ void elements_multiline_text_framed(Canvas* canvas, int32_t x, int32_t y, const furi_check(canvas); furi_check(text); - size_t font_height = canvas_current_font_height(canvas); + size_t font_height = canvas_current_font_height(canvas) - 1; size_t str_width = canvas_string_width(canvas, text); // count \n's @@ -778,7 +778,7 @@ void elements_text_box( // Fill line parameters size_t line_leading_min = font_params->leading_min; size_t line_leading_default = font_params->leading_default; - size_t line_height = font_params->height; + size_t line_height = font_params->height - 1; size_t line_descender = font_params->descender; size_t line_num = 0; size_t line_width = 0; diff --git a/applications/services/gui/modules/widget_elements/widget_element_text_scroll.c b/applications/services/gui/modules/widget_elements/widget_element_text_scroll.c index 866aad815..ed4b19654 100644 --- a/applications/services/gui/modules/widget_elements/widget_element_text_scroll.c +++ b/applications/services/gui/modules/widget_elements/widget_element_text_scroll.c @@ -152,7 +152,7 @@ static void widget_element_text_scroll_draw(Canvas* canvas, WidgetElement* eleme } canvas_draw_str_aligned( canvas, x, y, line->horizontal, AlignTop, furi_string_get_cstr(line->text)); - y += params->leading_default; + y += params->leading_default - 1; } // Draw scroll bar if(model->scroll_pos_total > 1) { diff --git a/lib/subghz/protocols/bin_raw.c b/lib/subghz/protocols/bin_raw.c index f060f93bb..ca52cdd49 100644 --- a/lib/subghz/protocols/bin_raw.c +++ b/lib/subghz/protocols/bin_raw.c @@ -430,7 +430,7 @@ static bool } else if( DURATION_DIFF((float)(abs(instance->data_raw[i])), (classes[k].data)) < (classes[k].data / 4)) { //if the test value does not differ by more than 25% - classes[k].data += ((float)(abs(instance->data_raw[i]))-classes[k].data) * + classes[k].data += ((float)(abs(instance->data_raw[i])) - classes[k].data) * 0.05f; //running average k=0.05 classes[k].count++; break; From a1e01bc06d945e3ca045f3f1c526f4613544e2e2 Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Thu, 22 Jan 2026 02:03:11 +0300 Subject: [PATCH 3/5] revert 4px to 3px change --- applications/services/gui/elements.c | 8 ++++---- .../modules/widget_elements/widget_element_text_scroll.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/applications/services/gui/elements.c b/applications/services/gui/elements.c index d32cbc8c9..763c8b1b0 100644 --- a/applications/services/gui/elements.c +++ b/applications/services/gui/elements.c @@ -339,7 +339,7 @@ void elements_multiline_text_aligned( furi_check(text); size_t lines_count = 0; - size_t font_height = canvas_current_font_height(canvas) - 1; + size_t font_height = canvas_current_font_height(canvas); FuriString* line; /* go through text line by line and count lines */ @@ -384,7 +384,7 @@ void elements_multiline_text(Canvas* canvas, int32_t x, int32_t y, const char* t furi_check(canvas); furi_check(text); - size_t font_height = canvas_current_font_height(canvas) - 1; + size_t font_height = canvas_current_font_height(canvas); FuriString* str; str = furi_string_alloc(); const char* start = text; @@ -407,7 +407,7 @@ void elements_multiline_text_framed(Canvas* canvas, int32_t x, int32_t y, const furi_check(canvas); furi_check(text); - size_t font_height = canvas_current_font_height(canvas) - 1; + size_t font_height = canvas_current_font_height(canvas); size_t str_width = canvas_string_width(canvas, text); // count \n's @@ -778,7 +778,7 @@ void elements_text_box( // Fill line parameters size_t line_leading_min = font_params->leading_min; size_t line_leading_default = font_params->leading_default; - size_t line_height = font_params->height - 1; + size_t line_height = font_params->height; size_t line_descender = font_params->descender; size_t line_num = 0; size_t line_width = 0; diff --git a/applications/services/gui/modules/widget_elements/widget_element_text_scroll.c b/applications/services/gui/modules/widget_elements/widget_element_text_scroll.c index ed4b19654..866aad815 100644 --- a/applications/services/gui/modules/widget_elements/widget_element_text_scroll.c +++ b/applications/services/gui/modules/widget_elements/widget_element_text_scroll.c @@ -152,7 +152,7 @@ static void widget_element_text_scroll_draw(Canvas* canvas, WidgetElement* eleme } canvas_draw_str_aligned( canvas, x, y, line->horizontal, AlignTop, furi_string_get_cstr(line->text)); - y += params->leading_default - 1; + y += params->leading_default; } // Draw scroll bar if(model->scroll_pos_total > 1) { From e76dedd825aabe2f8822809e7eb6432b844da6ad Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Thu, 22 Jan 2026 02:04:03 +0300 Subject: [PATCH 4/5] upd changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ef922555..8fdd5c190 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,8 +14,9 @@ * SubGHz: Fixed button mapping for **FAAC RC/XT** * NFC: Handle PPS request in ISO14443-4 layer (by @WillyJL) * Archive: Allow folders to be pinned (by @WillyJL) -* Apps: Build tag (**21jan2026**) - **Check out more Apps updates and fixes by following** [this link](https://github.com/xMasterX/all-the-plugins/commits/dev) +* Apps: Build tag (**22jan2026**) - **Check out more Apps updates and fixes by following** [this link](https://github.com/xMasterX/all-the-plugins/commits/dev) ## Other changes +* UI: Various small changes * NFC: Fix LED not blinking at SLIX unlock (closes issue #945) * SubGHz: Replaced Cars ignore option with Revers RB2 protocol ignore option * SubGHz: Moved Starline, ScherKhan, Kia decoders into external app From bb9e6bd3ca929290d19991ecab484154cdf1624f Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Fri, 23 Jan 2026 18:23:09 +0300 Subject: [PATCH 5/5] fix docs [ci skip] --- documentation/SubGHzSupportedSystems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/SubGHzSupportedSystems.md b/documentation/SubGHzSupportedSystems.md index d9269fbe9..65e96225b 100644 --- a/documentation/SubGHzSupportedSystems.md +++ b/documentation/SubGHzSupportedSystems.md @@ -121,7 +121,7 @@ The following manufacturers have KeeLoq support in Unleashed firmware: - Nice Smilo - `433.92MHz` `AM650` (KeeLoq, 64 bits) (8bit serial part in Hop - simple learning) - Normstahl - `433.92MHz` `AM650` (KeeLoq, 64 bits) - Novoferm - `433.92MHz` `AM650` (KeeLoq, 64 bits) -- Sommer `434.42MHz, 868.80MHz` `FSK12K (or FSK476)` (KeeLoq, 64 bits) (normal learning) (TX03-868-4, Pearl, and maybe other models are supported (SOMloq2)) +- Sommer `434.42MHz, 868.80MHz` `FSK12K (or FSK476)` (KeeLoq, 64 bits) (normal learning) (TX03-868-4, Pearl, and maybe other models are supported (SOMloq)) - Steelmate - `433.92MHz` `AM650` (KeeLoq, 64 bits) (12bit serial part in Hop - normal learning) - Stilmatic - `433.92MHz` `AM650` (KeeLoq, 64 bits) (normal learning)