Skip to content

Commit 67a3449

Browse files
Merge pull request #16 from jaylikesbunda/flipper-app-catalog
preparing for app catalog
2 parents 3ebcb7d + 08ac655 commit 67a3449

33 files changed

+1760
-1760
lines changed
Lines changed: 99 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -1,99 +1,99 @@
1-
# Changelog
2-
3-
## v1.1.1
4-
- add sniff pwnagotchi command
5-
6-
## v1.1.0 🕸️👻
7-
- Ring buffer implementation for text handling
8-
- New view buffer management
9-
- Added proper locking mechanisms
10-
- **Remove Filtering due to Firmware updates!**
11-
- Made exiting views more consistent for UE
12-
- **Replaced select a utility text with prompt to show NEW Help Menu**
13-
- Refactored and simplified uart_utils
14-
- Made PCAP file handling more robust
15-
- **Add GPS Menu and commands with saving to .csv**
16-
- Miscellaneous bug fixes
17-
18-
## v1.0.9
19-
- Fixed log file corruption when stopping captures
20-
- Added proper bounds checking for oversized messages
21-
- Improved text display buffer management
22-
- **Added automatic prefix tagging for WiFi, BLE and system messages**
23-
- Improved storage init speed
24-
25-
## v1.0.8
26-
27-
### 🔴 CRITICAL FIX - PCAP capture
28-
- **Fixed PCAP file handling and storage system**
29-
- Resolved PCAP file stream corruption issues
30-
- Added proper storage system initialization
31-
- Removed the line buffering logic for PCAP data
32-
33-
### Improvements
34-
- Added error checking for storage operations
35-
- Filtering majorly improved
36-
- Improved stop on back to be much more reliable by added type-specific stop commands with delays between operations
37-
38-
## v1.0.7a
39-
- Disable the expansion interface before trying to use UART
40-
41-
## v1.0.7
42-
- **Increased buffers and stacks: MAX_BUFFER_SIZE to 8KB, INITIAL_BUFFER_SIZE to 4KB, BUFFER_CLEAR_SIZE to 128B, uart/app stacks to 4KB/6KB**
43-
- Added buffer_mutex with proper timeout handling
44-
- **Added Marauder-style data handling**
45-
- Improved ESP connection reliability
46-
- Added view log from start/end configuration setting
47-
- **Added line buffering with overflow detection, boundary protection and pre-flush on mode switches**
48-
49-
## v1.0.6
50-
- Replaced 'Info' command in ESP Check with 'Stop'
51-
- Slightly improved optional UART filtering
52-
- Memory safety improvements.
53-
- Improved Clear Logs to be faster and more efficient
54-
- **Added details view to each command accessible with hold of center button. (Like BLE Spam)**
55-
- **Made ESP Not Connected screen more helpful with prompts to reboot/reflash if issues persist.**
56-
- Renamed CONF menu option to SET to better align with actual Settings menu since its header is "Settings" and there is a configuration submenu
57-
- Replaced textbox for ESP Connection Check with scrollable Confirmation View
58-
59-
## v1.0.5
60-
- **Commands will silently fail if UART isn't working rather than crashing**
61-
- **Fixed double-free memory issue by removing stream buffer cleanup from the worker thread**
62-
- Reorganized initialization order
63-
- **UART initialization happens in background**
64-
- **Serial operations don't block app startup**
65-
- Optimized storage initialization by deferring file operations until needed
66-
- Improved directory creation efficiency in storage handling
67-
68-
## v1.0.4
69-
- Refined confirmation view line breaks for readability
70-
- Improved ESP Connectivity check to decrease false negatives
71-
- **Added optional filtering to UART output to improve readability (BETA)**
72-
- **Added 'App Info' Button in Settings**
73-
- Misc Changes (mostly to UI)
74-
75-
## v1.0.3
76-
- Enhanced confirmation view structure and readability with better text alignment
77-
- **Added confirmation for "Clear Log Files" with a permanent action warning**
78-
- **Enabled back press exit on confirmation views with callback context handling**
79-
- Improved memory management with context cleanup, view state tracking, and transition fixes
80-
- Added NULL checks, fixed memory leaks, and added state tracking for dialogs
81-
82-
## v1.0.2
83-
- **Added confirmation dialogs for WebUI-dependent features in the UI**
84-
- Improved settings menu with actions submenu, NVS clearing, and log clearing
85-
- Enhanced memory management and improved settings storage/loading robustness
86-
- **Added contextual help for WebUI configuration and confirmation dialogs for command safety**
87-
- Improved view navigation, state management, and memory cleanup processes
88-
- **Added safeguards against `furi_check` failures with NULL checks and memory initialization**
89-
90-
## v1.0.1
91-
- **Revamped menu structure with logical grouping (scanning, beacon spam, attacks, etc.)**
92-
- Simplified command addition and cleaned up documentation in `menu.c`
93-
- **Centralized and enum-based settings metadata for improved validation and extensibility**
94-
- **Enhanced settings with Stop-on-Back feature and ESP reboot command**
95-
- **Enabled automatic connectivity check and error recovery for ESP issues**
96-
- **Unified UI with metadata-driven consistency and better type safety**
97-
- Simplified UI view switching and improved error display
98-
- Refined code organization, separating concerns, removing redundancy, and standardizing error handling
99-
1+
# Changelog
2+
3+
## v1.1.1
4+
- add sniff pwnagotchi command
5+
6+
## v1.1.0 🕸️👻
7+
- Ring buffer implementation for text handling
8+
- New view buffer management
9+
- Added proper locking mechanisms
10+
- **Remove Filtering due to Firmware updates!**
11+
- Made exiting views more consistent for UE
12+
- **Replaced select a utility text with prompt to show NEW Help Menu**
13+
- Refactored and simplified uart_utils
14+
- Made PCAP file handling more robust
15+
- **Add GPS Menu and commands with saving to .csv**
16+
- Miscellaneous bug fixes
17+
18+
## v1.0.9
19+
- Fixed log file corruption when stopping captures
20+
- Added proper bounds checking for oversized messages
21+
- Improved text display buffer management
22+
- **Added automatic prefix tagging for WiFi, BLE and system messages**
23+
- Improved storage init speed
24+
25+
## v1.0.8
26+
27+
### 🔴 CRITICAL FIX - PCAP capture
28+
- **Fixed PCAP file handling and storage system**
29+
- Resolved PCAP file stream corruption issues
30+
- Added proper storage system initialization
31+
- Removed the line buffering logic for PCAP data
32+
33+
### Improvements
34+
- Added error checking for storage operations
35+
- Filtering majorly improved
36+
- Improved stop on back to be much more reliable by added type-specific stop commands with delays between operations
37+
38+
## v1.0.7a
39+
- Disable the expansion interface before trying to use UART
40+
41+
## v1.0.7
42+
- **Increased buffers and stacks: MAX_BUFFER_SIZE to 8KB, INITIAL_BUFFER_SIZE to 4KB, BUFFER_CLEAR_SIZE to 128B, uart/app stacks to 4KB/6KB**
43+
- Added buffer_mutex with proper timeout handling
44+
- **Added Marauder-style data handling**
45+
- Improved ESP connection reliability
46+
- Added view log from start/end configuration setting
47+
- **Added line buffering with overflow detection, boundary protection and pre-flush on mode switches**
48+
49+
## v1.0.6
50+
- Replaced 'Info' command in ESP Check with 'Stop'
51+
- Slightly improved optional UART filtering
52+
- Memory safety improvements.
53+
- Improved Clear Logs to be faster and more efficient
54+
- **Added details view to each command accessible with hold of center button. (Like BLE Spam)**
55+
- **Made ESP Not Connected screen more helpful with prompts to reboot/reflash if issues persist.**
56+
- Renamed CONF menu option to SET to better align with actual Settings menu since its header is "Settings" and there is a configuration submenu
57+
- Replaced textbox for ESP Connection Check with scrollable Confirmation View
58+
59+
## v1.0.5
60+
- **Commands will silently fail if UART isn't working rather than crashing**
61+
- **Fixed double-free memory issue by removing stream buffer cleanup from the worker thread**
62+
- Reorganized initialization order
63+
- **UART initialization happens in background**
64+
- **Serial operations don't block app startup**
65+
- Optimized storage initialization by deferring file operations until needed
66+
- Improved directory creation efficiency in storage handling
67+
68+
## v1.0.4
69+
- Refined confirmation view line breaks for readability
70+
- Improved ESP Connectivity check to decrease false negatives
71+
- **Added optional filtering to UART output to improve readability (BETA)**
72+
- **Added 'App Info' Button in Settings**
73+
- Misc Changes (mostly to UI)
74+
75+
## v1.0.3
76+
- Enhanced confirmation view structure and readability with better text alignment
77+
- **Added confirmation for "Clear Log Files" with a permanent action warning**
78+
- **Enabled back press exit on confirmation views with callback context handling**
79+
- Improved memory management with context cleanup, view state tracking, and transition fixes
80+
- Added NULL checks, fixed memory leaks, and added state tracking for dialogs
81+
82+
## v1.0.2
83+
- **Added confirmation dialogs for WebUI-dependent features in the UI**
84+
- Improved settings menu with actions submenu, NVS clearing, and log clearing
85+
- Enhanced memory management and improved settings storage/loading robustness
86+
- **Added contextual help for WebUI configuration and confirmation dialogs for command safety**
87+
- Improved view navigation, state management, and memory cleanup processes
88+
- **Added safeguards against `furi_check` failures with NULL checks and memory initialization**
89+
90+
## v1.0.1
91+
- **Revamped menu structure with logical grouping (scanning, beacon spam, attacks, etc.)**
92+
- Simplified command addition and cleaned up documentation in `menu.c`
93+
- **Centralized and enum-based settings metadata for improved validation and extensibility**
94+
- **Enhanced settings with Stop-on-Back feature and ESP reboot command**
95+
- **Enabled automatic connectivity check and error recovery for ESP issues**
96+
- **Unified UI with metadata-driven consistency and better type safety**
97+
- Simplified UI view switching and improved error display
98+
- Refined code organization, separating concerns, removing redundancy, and standardizing error handling
99+

application.fam

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ App(
99
fap_category="GPIO/ESP",
1010
# Optional values
1111
icon="A_GhostESP_14",
12-
fap_version="1.1.0",
12+
fap_version="1.1.1",
1313
fap_icon="ghost_esp.png", # 10x10 1-bit PNG
1414
fap_icon_assets="images", # Image assets to compile for this application
1515
)

screenshots/connect.png

2.04 KB
Loading

screenshots/mainmenu.png

1.96 KB
Loading

screenshots/scan.png

2.07 KB
Loading

screenshots/wifi.png

1.77 KB
Loading
Lines changed: 57 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,58 @@
1-
#pragma once
2-
#include <furi.h>
3-
#include <gui/gui.h>
4-
#include <gui/view_dispatcher.h>
5-
#include <gui/modules/submenu.h>
6-
#include <gui/modules/variable_item_list.h>
7-
#include <gui/modules/text_box.h>
8-
#include <gui/modules/text_input.h>
9-
#include "gui_modules/mainmenu.h"
10-
#include "settings_def.h"
11-
#include "app_types.h"
12-
#include "settings_ui_types.h"
13-
14-
typedef struct {
15-
bool enabled; // Master switch for filtering
16-
bool show_ble_status;
17-
bool show_wifi_status;
18-
bool show_flipper_devices;
19-
bool show_wifi_networks;
20-
bool strip_ansi_codes;
21-
bool add_prefixes; // Whether to add [BLE], [WIFI] etc prefixes
22-
} FilterConfig;
23-
24-
struct AppState {
25-
// Views
26-
ViewDispatcher* view_dispatcher;
27-
MainMenu* main_menu;
28-
Submenu* wifi_menu;
29-
Submenu* ble_menu;
30-
Submenu* gps_menu;
31-
VariableItemList* settings_menu;
32-
TextBox* text_box;
33-
TextInput* text_input;
34-
ConfirmationView* confirmation_view;
35-
FuriMutex* buffer_mutex;
36-
// UART Context
37-
UartContext* uart_context;
38-
FilterConfig* filter_config;
39-
40-
// Settings
41-
Settings settings;
42-
SettingsUIContext settings_ui_context;
43-
Submenu* settings_actions_menu;
44-
45-
// State
46-
uint32_t current_index;
47-
uint8_t current_view;
48-
uint8_t previous_view;
49-
uint32_t last_wifi_index;
50-
uint32_t last_ble_index;
51-
uint32_t last_gps_index;
52-
char* input_buffer;
53-
const char* uart_command;
54-
char* textBoxBuffer;
55-
size_t buffer_length;
56-
size_t buffer_capacity;
57-
size_t buffer_size;
1+
#pragma once
2+
#include <furi.h>
3+
#include <gui/gui.h>
4+
#include <gui/view_dispatcher.h>
5+
#include <gui/modules/submenu.h>
6+
#include <gui/modules/variable_item_list.h>
7+
#include <gui/modules/text_box.h>
8+
#include <gui/modules/text_input.h>
9+
#include "gui_modules/mainmenu.h"
10+
#include "settings_def.h"
11+
#include "app_types.h"
12+
#include "settings_ui_types.h"
13+
14+
typedef struct {
15+
bool enabled; // Master switch for filtering
16+
bool show_ble_status;
17+
bool show_wifi_status;
18+
bool show_flipper_devices;
19+
bool show_wifi_networks;
20+
bool strip_ansi_codes;
21+
bool add_prefixes; // Whether to add [BLE], [WIFI] etc prefixes
22+
} FilterConfig;
23+
24+
struct AppState {
25+
// Views
26+
ViewDispatcher* view_dispatcher;
27+
MainMenu* main_menu;
28+
Submenu* wifi_menu;
29+
Submenu* ble_menu;
30+
Submenu* gps_menu;
31+
VariableItemList* settings_menu;
32+
TextBox* text_box;
33+
TextInput* text_input;
34+
ConfirmationView* confirmation_view;
35+
FuriMutex* buffer_mutex;
36+
// UART Context
37+
UartContext* uart_context;
38+
FilterConfig* filter_config;
39+
40+
// Settings
41+
Settings settings;
42+
SettingsUIContext settings_ui_context;
43+
Submenu* settings_actions_menu;
44+
45+
// State
46+
uint32_t current_index;
47+
uint8_t current_view;
48+
uint8_t previous_view;
49+
uint32_t last_wifi_index;
50+
uint32_t last_ble_index;
51+
uint32_t last_gps_index;
52+
char* input_buffer;
53+
const char* uart_command;
54+
char* textBoxBuffer;
55+
size_t buffer_length;
56+
size_t buffer_capacity;
57+
size_t buffer_size;
5858
};
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
#pragma once
2-
3-
// Forward declarations only
4-
typedef struct AppState AppState;
5-
typedef struct UartContext UartContext;
6-
typedef struct StorageContext StorageContext;
7-
typedef struct SettingsUIContext SettingsUIContext;
8-
typedef struct ConfirmationView ConfirmationView;
1+
#pragma once
2+
3+
// Forward declarations only
4+
typedef struct AppState AppState;
5+
typedef struct UartContext UartContext;
6+
typedef struct StorageContext StorageContext;
7+
typedef struct SettingsUIContext SettingsUIContext;
8+
typedef struct ConfirmationView ConfirmationView;
99
typedef struct UartStorageContext UartStorageContext;

0 commit comments

Comments
 (0)