Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

develop #157

Merged
merged 121 commits into from
Nov 4, 2024
Merged

develop #157

merged 121 commits into from
Nov 4, 2024

Conversation

ksidirop-laerdal
Copy link
Collaborator

No description provided.

ksidirop-laerdal and others added 30 commits September 25, 2024 19:15
…tting the initial-mtu-size for the ble-transport and the connection it sets up for the firmware installation
…s-add-support-for-setting-initial-mtu-size

[MAN-417] support setting the initial-mtu-size for the ble-transport and the connection it sets up for the firmware installation
…yWithLastDitchAttemptUsingLowerInitialMtu_GivenProblematicDeviceForFileUploading.cs): new test meant to ensure that the fw-installation retry logic will fallback to using initial-mtu=23 as a last-ditch effort in terms of making the ble-connection to be established
…lures during the fw-uploading phase and we resort to overriding the given settings in favor of more fail-safe ones: initialMtuSize=23 + windowCapacity=1, memoryAlignment=1
…l-safe settings in case we detect persistent failures during the fw-uploading stage
…yWithLastDitchAttemptUsingLowerInitialMtu_GivenProblematicDeviceForFileUploading.cs): enhance the checks we perform to ensure that the fail-safe settings are being employed at the appropriate times
…t the fail-safe-connection-settings enforcement when the connection is found to be unstable
…l-safe settings mutable so that the calling environment can tweak them if need be
…r a state change to .idle in each and every mocked .BeginInstallation() for the sake of adhering to the behaviour of the actual native implementations
…: plain old .Dispose() which wasn't optimal)
…nStream.GivenBooleanAutodisposedParameter.cs): new test to check if the stream got autodisposed or not
…ks that return ValueTask<Stream> unconditionally (old was: there was a #if directive around this feature that was always false and the feature was never enabled)

    FileUploaderTestbed.SingleFileUploadAsync.ShouldHaveStreamAutodisposed_GivenBooleanAutodisposedParameter.cs has been tweaked to test all flavours of streams and whether they're getting disposed or not based on shouldAutodisposeStream
…om connection-settings (just like .BeginInstallation() of the firmware-installer class)
… have it delegate the fallback to default values to _nativeFirmwareInstallerProxy.BeginInstallation()
…aderEventEmittable is not part of the public interface IFileUploader
…on=14.5 now to cater to what the vm-image in our github-cicd supports as of Oct 1 2024
…store flag considering that we restore packages manually
…blematic-connection-scenarios-and-retry-with-initial-mtu-23

[MAN-419] Auto detect "flaky-ble-connection" scenarios and retry with fail-safe settings (initial-mtu=23 on Android etc)
…for the properties <TargetPlatformVersion> and <SupportedOSPlatformVersion> for all platforms

   when building through Laerdal.Builder.targets (which is used by github-actions.yml) these properties are set to the values of the env-vars defined at the top of github-actions.yml via the new msbuild parameters Laerdal_TargetPlatformVersion_IOS/Android/MacCatalyst
…nvoked with --disable-package-restore to avoid some issues with mac-catalyst builds when the mac-catalyst aspect of the build is disabled
…latformVersion> separately from the target sdk that was used to build each binding project

   For iOS and MacCatalyst we use TargetPlatformVersion=17.0 because this is what the macos-14 vm-image of our CI pipelines actually support

   (if we use values less than 17.0 we get a warning which says that in the future this will be considered an error)
…irop/MAN-420-fix-build-error-concerning-mac-catalyst-sdk-version

# Conflicts:
#	.github/workflows/github-actions.yml
#	Laerdal.McuMgr.Bindings.MacCatalyst/Laerdal.McuMgr.Bindings.MacCatalyst.csproj
#	Laerdal.Scripts/Laerdal.Builder.targets
…script to fail building android/ios/maccatalyst due to an issue with the way we fallback to the default target-platform-version for each platform

[skip ci]
ksidirop-laerdal and others added 29 commits October 23, 2024 13:05
…on settings those in which all parameters are null
…tionProvedToBeUnstable()): consolidated this helper method
… now emit log-warning if we detect that the host-device is known to be problematic
…eviceIsProblematic()): when we return values for the apple devices the android connection-settings are now null and vice versa
…failsafe settings for downloading which set initial-mtu-size=50 (old was: 23 which caused even healthy phones to fail downloading)
[MAN-431] File upload/download fixes for samsung A8
…mi.android:mcumgr-core upgraded to version 2.2.1
… logging statements and on the memory-alignment parameter which got removed since it was not being taken into account
[MAN-432] Upgrade android-libs to version 2.2.1
…onnectionSettingsIfConnectionProvedToBeUnstable_() with the standard helper ConnectionSettingsHelpers.GetFailsafeConnectionSettingsIfConnectionProvedToBeUnstable()
…egard to the requirements for the firmware running on nRF5x+ chipsets

    the firmware running on nRF5x+ chipsets has to be built against the nRF-Connect SDK (the classic 'nRF5 SDK' doesn't cut it for firmwares)
…t the 'dual flash-bank (active / backup)' that the nRF5x chipsets support

[skip ci]
…tings immediately if the host-device is known to be problematic (Samsung A8 etc)

   place the hostDeviceModel parameter before the deviceManufacturer
[MAN-431] File-uploading-and-downloading-samsung-a8-workarounds
…red_() we now rely on the EMcuMgrErrorCode instead of relying on string-sniffing
…ception UploadErroredOutRemoteFolderNotFoundException() to not be thrown when the native Android code would report that target directory doesn't exist in the remote device

    note that the file-uploader and file-downloader are broken with this commit on iOS and need to be fixed
…exception we now deduce a numeric global-error-code from it and send that to the C# world (old was: 2 separate and very confusing error codes)
…e global-error-code over to the C# side when an error occurs
…ow also report a global-error-code in case of a fatal-error
…to figure out the native errors instead of string-sniffing
[MAN-435] Fix error-mapping and exception-mapping on both iOS and Android
… outside ensureFilesystemManagerIsInitializedExactlyOnce()
… outside ensureFilesystemManagerIsInitializedExactlyOnce()

[skip ci]
…just like the FileUploader/Downloader classes do
[MAN-431] File-uploading-and-downloading-samsung-a8-workarounds
@ksidirop-laerdal ksidirop-laerdal merged commit 77f1042 into main Nov 4, 2024
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant