mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-07-11 23:38:11 -07:00
Merge remote-tracking branch 'mntm/dev' into feat/use-after-free-sentinel
This commit is contained in:
+10
-7
@@ -8,19 +8,22 @@
|
||||
### Updated:
|
||||
- Apps:
|
||||
- BT/USB Remote: Add PTT support for Gather (by @SapphicCode)
|
||||
- ESP Flasher: Add c3 and c6 to s3 option (by @jaylikesbunda)
|
||||
- FlipLibrary: Added Wikipedia, dog facts and random quotes, bug fixes (by @jblanked), connectivity and progress improvements (by @jamisonderek)
|
||||
- FlipSocial: Improved authentication (by @jblanked)
|
||||
- FlipStore: Many bugfixes, support ESP32 firmware downloads, allow deleting apps (by @jblanked)
|
||||
- Chess: Fix illegal move bug (by @956MB)
|
||||
- ESP Flasher: Add c3 and c6 to s3 option (by @jaylikesbunda), update Marauder bins to 1.1.0 (by @justcallmekoko)
|
||||
- FlipBIP: Refactor to make adding coins easier (by @xtruan)
|
||||
- FlipLibrary: Wikipedia, dog facts, random quotes, weather, asset price, predictions, trivia, advice, uuid and many more, bug fixes (by @jblanked), holidays, improvements to connectivity and progress (by @jamisonderek)
|
||||
- FlipSocial: Improved authentication, loading screens, memory fixes, bio and friend counts, search contacts (by @jblanked), RPC_KEYBOAARD support (by @jamisonderek)
|
||||
- FlipStore: Many bugfixes, support ESP32 firmware downloads, allow deleting apps, memory fixes, update Marauder (by @jblanked), more improvements (by @jamisonderek)
|
||||
- FlipTrader: Improved progress display, added connectivity check on startup (by @jamisonderek)
|
||||
- FlipWeather: Stability improvements (by @jblanked), improved progress display, added connectivity check on startup (by @jamisonderek)
|
||||
- FlipWiFi: Improved error handling, updated scan loading and parsing (by @jblanked), added connectivity check on startup (by @jamisonderek)
|
||||
- FlipBIP: Refactor to make adding coins easier (by @xtruan)
|
||||
- uPython: Enabled extra functions for the `random` module (by @ofabel)
|
||||
- FlipWiFi: Improve error handling, update scan loading and parsing, fix crash when saving networks manually (by @jblanked), add connectivity check on startup (by @jamisonderek)
|
||||
- Pokemon Trade Tool: Update to gblink v0.63 which includes saving/loading of pin configurations for the EXT link interface (by @kbembedded)
|
||||
- Snake 2.0: Progress saving, endless mode, game timer, fruit positioning bugfixes (by @Willzvul)
|
||||
- uPython: Enabled extra functions for the `random` module (by @ofabel)
|
||||
- WebCrawler: Improved progress display, added connectivity check on startup (by @jamisonderek)
|
||||
- WiFi Marauder: AirTag Spoof, flipper blespam, sniff airtag and flipper, list airtag (by @0xchocolate)
|
||||
- UL: NFC Magic: Added possibility to write 7b MFC to Gen1 tags (by @mishamyte)
|
||||
- UL: Unitemp: Fixed handling of hPa units (by @shininghero)
|
||||
- UL: Fixed apps for firmware USB CDC callback changes (by @xMasterX)
|
||||
- NFC:
|
||||
- OFW: Replace mf_classic_dict.nfc with Proxmark3 version (by @onovy)
|
||||
|
||||
+1
-1
Submodule applications/external updated: 1163b58398...2a7953ffcd
@@ -29,6 +29,17 @@ env = ENV.Clone(
|
||||
TARGETS_ROOT=Dir("#/targets"),
|
||||
LINT_SOURCES=[
|
||||
Dir("applications"),
|
||||
# Not C code
|
||||
Dir("!applications/system/js_app/packages"),
|
||||
# Frequently updated and very different formatting, painful to merge
|
||||
Dir("!applications/external/nfc_playlist"),
|
||||
Dir("!applications/external/flip_library"),
|
||||
Dir("!applications/external/flip_social"),
|
||||
Dir("!applications/external/flip_store"),
|
||||
Dir("!applications/external/flip_trader"),
|
||||
Dir("!applications/external/flip_weather"),
|
||||
Dir("!applications/external/flip_wifi"),
|
||||
Dir("!applications/external/web_crawler"),
|
||||
],
|
||||
LIBPATH=[
|
||||
"${LIB_DIST_DIR}",
|
||||
|
||||
+18
-8
@@ -35,21 +35,25 @@ class Main(App):
|
||||
self.parser_format.set_defaults(func=self.format)
|
||||
|
||||
@staticmethod
|
||||
def _filter_lint_directories(dirnames: list[str]):
|
||||
def _filter_lint_directories(
|
||||
dirpath: str, dirnames: list[str], excludes: tuple[str]
|
||||
):
|
||||
# Skipping 3rd-party code - usually resides in subfolder "lib"
|
||||
if "lib" in dirnames:
|
||||
dirnames.remove("lib")
|
||||
# Skipping hidden folders
|
||||
# Skipping hidden and excluded folders
|
||||
for dirname in dirnames.copy():
|
||||
if dirname.startswith("."):
|
||||
dirnames.remove(dirname)
|
||||
if os.path.join(dirpath, dirname).startswith(excludes):
|
||||
dirnames.remove(dirname)
|
||||
|
||||
def _check_folders(self, folders: list):
|
||||
def _check_folders(self, folders: list, excludes: tuple[str]):
|
||||
show_message = False
|
||||
pattern = re.compile(SOURCE_CODE_DIR_PATTERN)
|
||||
for folder in folders:
|
||||
for dirpath, dirnames, filenames in os.walk(folder):
|
||||
self._filter_lint_directories(dirnames)
|
||||
self._filter_lint_directories(dirpath, dirnames, excludes)
|
||||
|
||||
for dirname in dirnames:
|
||||
if not pattern.match(dirname):
|
||||
@@ -61,11 +65,11 @@ class Main(App):
|
||||
"Folders are not renamed automatically, please fix it by yourself"
|
||||
)
|
||||
|
||||
def _find_sources(self, folders: list):
|
||||
def _find_sources(self, folders: list, excludes: tuple[str]):
|
||||
output = []
|
||||
for folder in folders:
|
||||
for dirpath, dirnames, filenames in os.walk(folder):
|
||||
self._filter_lint_directories(dirnames)
|
||||
self._filter_lint_directories(dirpath, dirnames, excludes)
|
||||
|
||||
for filename in filenames:
|
||||
ext = os.path.splitext(filename.lower())[1]
|
||||
@@ -168,14 +172,20 @@ class Main(App):
|
||||
|
||||
def _perform(self, dry_run: bool):
|
||||
result = 0
|
||||
sources = self._find_sources(self.args.input)
|
||||
excludes = []
|
||||
for folder in self.args.input.copy():
|
||||
if folder.startswith("!"):
|
||||
excludes.append(folder.removeprefix("!"))
|
||||
self.args.input.remove(folder)
|
||||
excludes = tuple(excludes)
|
||||
sources = self._find_sources(self.args.input, excludes)
|
||||
if not self._format_sources(sources, dry_run=dry_run):
|
||||
result |= 0b001
|
||||
if not self._apply_file_naming_convention(sources, dry_run=dry_run):
|
||||
result |= 0b010
|
||||
if not self._apply_file_permissions(sources, dry_run=dry_run):
|
||||
result |= 0b100
|
||||
self._check_folders(self.args.input)
|
||||
self._check_folders(self.args.input, excludes)
|
||||
return result
|
||||
|
||||
def check(self):
|
||||
|
||||
Reference in New Issue
Block a user