diff --git a/.github/workflow_data/release.md b/.github/workflow_data/release.md index 1dcbf31ee..4602ffa1f 100644 --- a/.github/workflow_data/release.md +++ b/.github/workflow_data/release.md @@ -1,12 +1,12 @@ ## ⬇️ Download ->### [🐬 qFlipper Package (.tgz)](https://github.com/ClaraCrazy/Flipper-Xtreme/releases/download/{release_tag}/{release_tag}.tgz) [recommended] +>### [📦 Zipped Archive (.zip)](https://github.com/ClaraCrazy/Flipper-Xtreme/releases/download/{release_tag}/{release_tag}.zip) [recommended] ->### [📦 Zipped Archive (.zip)](https://github.com/ClaraCrazy/Flipper-Xtreme/releases/download/{release_tag}/{release_tag}.zip) +>### [🐬 qFlipper Package (.tgz)](https://github.com/ClaraCrazy/Flipper-Xtreme/releases/download/{release_tag}/{release_tag}.tgz) >### [🖥️ Web Updater (chrome)](https://lab.flipper.net/?url={webupdater_url}&channel=XFW-Updater&version={release_tag}) [not recommended] -**Remember to delete your `apps` (and `update` if using "Install from file...") folders before updating!**\ -**Check the [install guide](https://github.com/ClaraCrazy/Flipper-Xtreme#install) if you're not sure, or [join our Discord](https://discord.gg/flipper-xtreme) if you have questions!** +**Remember to delete your `apps` folders before updating!**\ +**Check the [install guide](https://github.com/ClaraCrazy/Flipper-Xtreme#install) if you're not sure, or [join our Discord](https://discord.gg/flipper-xtreme) if you have questions or encounter issues!** ## 🚀 Changelog {changelog} @@ -17,6 +17,6 @@ If you like what you're seeing, **please consider donating to us**. We won't eve - **[Direct transfer to my bank](https://bunq.me/ClaraK)**: No account needed, they have a convenient online pay thingy (that hates americans, sowwy) - **[Patreon](https://patreon.com/CynthiaLabs)** - **[Paypal](https://paypal.me/RdX2020)** -- **Monero**: 41kyWeeoVdK4quzQ4M9ikVGs6tCQCLfdx8jLExTNsAu2SF1QAyDqRdjfGM6EL8L9NpXwt89HJeAoGf1aoArk7nDr4AMMV4T +- **Monero**: `41kyWeeoVdK4quzQ4M9ikVGs6tCQCLfdx8jLExTNsAu2SF1QAyDqRdjfGM6EL8L9NpXwt89HJeAoGf1aoArk7nDr4AMMV4T` **Thanks for all your support <3** diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dc6ead78d..842184286 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -63,6 +63,9 @@ jobs: cd ./${DEFAULT_TARGET}-update-* 7z a ../${RELEASE_TAG}.zip . cd .. + mv ${RELEASE_TAG}.tgz .. + mv ${RELEASE_TAG}.zip .. + cd .. python -m pip install pyncclient WEBUPDATER_URL="$(python -c "import nextcloud_client as n;c = n.Client('https://cloud.cynthialabs.net/');c.login('${{ secrets.NC_USER }}', '${{ secrets.NC_PASS }}');c.put_file('XFW-Updater/${RELEASE_TAG}.tgz', '${RELEASE_TAG}.tgz');print(c.share_file_with_link('XFW-Updater/${RELEASE_TAG}.tgz').get_link().rstrip('/') + '/download/${RELEASE_TAG}.tgz', end='')")" echo "WEBUPDATER_URL=${WEBUPDATER_URL}" >> $GITHUB_ENV @@ -91,8 +94,8 @@ jobs: draft: false prerelease: false files: | - ${{ env.RELEASE_TAG }}.tgz - ${{ env.RELEASE_TAG }}.zip + dist/${{ env.RELEASE_TAG }}.tgz + dist/${{ env.RELEASE_TAG }}.zip name: "${{ env.RELEASE_TAG }}" tag_name: "${{ env.RELEASE_TAG }}" target_commitish: main diff --git a/applications/main/bad_kb/bad_kb_app.c b/applications/main/bad_kb/bad_kb_app.c index 9f2a3145a..5c095c2f0 100644 --- a/applications/main/bad_kb/bad_kb_app.c +++ b/applications/main/bad_kb/bad_kb_app.c @@ -84,14 +84,6 @@ BadKbApp* bad_kb_app_alloc(char* arg) { } Storage* storage = furi_record_open(RECORD_STORAGE); - // Remove old pre-included files to avoid duplicates on migrate - storage_simply_remove(storage, EXT_PATH("badusb/layouts")); - storage_simply_remove(storage, EXT_PATH("badusb/.badusb.settings")); - storage_simply_remove(storage, EXT_PATH("badusb/Kiosk-Evasion-Bruteforce.txt")); - storage_simply_remove(storage, EXT_PATH("badusb/Wifi-Stealer_ORG.txt")); - storage_simply_remove(storage, EXT_PATH("badusb/demo_macos.txt")); - storage_simply_remove(storage, EXT_PATH("badusb/demo_windows.txt")); - storage_common_migrate(storage, EXT_PATH("badusb"), BAD_KB_APP_BASE_FOLDER); storage_simply_mkdir(storage, BAD_KB_APP_BASE_FOLDER); furi_record_close(RECORD_STORAGE); @@ -114,8 +106,6 @@ BadKbApp* bad_kb_app_alloc(char* arg) { view_dispatcher_set_navigation_event_callback( app->view_dispatcher, bad_kb_app_back_event_callback); - app->connection_init = false; - Bt* bt = furi_record_open(RECORD_BT); app->bt = bt; app->bt->suppress_pin_screen = true; @@ -166,7 +156,7 @@ BadKbApp* bad_kb_app_alloc(char* arg) { scene_manager_next_scene(app->scene_manager, BadKbSceneError); } else { app->conn_init_thread = furi_thread_alloc_ex( - "BadKbConnInit", 512, (FuriThreadCallback)bad_kb_connection_init, app); + "BadKbConnInit", 1024, (FuriThreadCallback)bad_kb_connection_init, app); furi_thread_start(app->conn_init_thread); if(!furi_string_empty(app->file_path)) { app->bad_kb_script = bad_kb_script_open(app->file_path, app->is_bt ? app->bt : NULL); @@ -226,6 +216,12 @@ void bad_kb_app_free(BadKbApp* app) { } app->bt->suppress_pin_screen = false; + if(app->conn_init_thread) { + furi_thread_join(app->conn_init_thread); + furi_thread_free(app->conn_init_thread); + bad_kb_connection_deinit(app); + } + // Close records furi_record_close(RECORD_GUI); furi_record_close(RECORD_NOTIFICATION); @@ -237,12 +233,6 @@ void bad_kb_app_free(BadKbApp* app) { furi_string_free(app->file_path); furi_string_free(app->keyboard_layout); - if(app->conn_init_thread) { - furi_thread_join(app->conn_init_thread); - furi_thread_free(app->conn_init_thread); - } - bad_kb_connection_deinit(app); - free(app); } diff --git a/applications/main/bad_kb/bad_kb_app_i.h b/applications/main/bad_kb/bad_kb_app_i.h index a55875676..8a8a166d5 100644 --- a/applications/main/bad_kb/bad_kb_app_i.h +++ b/applications/main/bad_kb/bad_kb_app_i.h @@ -72,7 +72,6 @@ struct BadKbApp { bool is_bt; - bool connection_init; FuriHalUsbInterface* usb_prev_mode; GapPairing bt_prev_mode; diff --git a/applications/main/bad_kb/bad_kb_script.c b/applications/main/bad_kb/bad_kb_script.c index b91f36b9f..f6b65247d 100644 --- a/applications/main/bad_kb/bad_kb_script.c +++ b/applications/main/bad_kb/bad_kb_script.c @@ -704,14 +704,10 @@ int32_t bad_kb_connection_init(BadKbApp* app) { furi_hal_bt_stop_advertising(); } - app->connection_init = true; - return 0; } void bad_kb_connection_deinit(BadKbApp* app) { - if(!app->connection_init) return; - furi_hal_usb_set_config(app->usb_prev_mode, NULL); // bt_hid_hold_while_keyboard_buffer_full(6, 3000); // release all keys diff --git a/applications/main/subghz_remote/subghz_remote_app.c b/applications/main/subghz_remote/subghz_remote_app.c index 941cdb889..77627f5ca 100644 --- a/applications/main/subghz_remote/subghz_remote_app.c +++ b/applications/main/subghz_remote/subghz_remote_app.c @@ -811,19 +811,6 @@ int32_t subghz_remote_app(void* p) { app->file_result = 3; - Storage* storage = furi_record_open(RECORD_STORAGE); - // Remove old pre-included files to avoid duplicates on migrate - storage_simply_remove(storage, EXT_PATH("subghz/unirf/CVS_Walgreens.txt")); - storage_simply_remove(storage, EXT_PATH("subghz/unirf/Gas_Sign_Edit.txt")); - storage_simply_remove(storage, EXT_PATH("subghz/unirf/Ridin_Dirty.txt")); - storage_simply_remove(storage, EXT_PATH("subghz/unirf/Tesla_Handicap.txt")); - storage_common_migrate(storage, EXT_PATH("subghz/unirf"), SUBREMOTEMAP_FOLDER); - - if(!storage_simply_mkdir(storage, SUBREMOTEMAP_FOLDER)) { - FURI_LOG_E(TAG, "Could not create folder %s", SUBREMOTEMAP_FOLDER); - } - furi_record_close(RECORD_STORAGE); - furi_string_set(app->file_path, SUBREMOTEMAP_FOLDER); DialogsApp* dialogs = furi_record_open(RECORD_DIALOGS);