Syn3 Updater - https://cyanlabs.net/applications/syn3-updater/
Please note if you fork this repo you will require a APISecret in order to access our API, please contact us if you wish to gain this access!
Windows application for updating Ford Sync 3 infotainment systems
Home Page: https://cyanlabs.net/applications/syn3-updater/
License: GNU General Public License v3.0
Syn3 Updater - https://cyanlabs.net/applications/syn3-updater/
Please note if you fork this repo you will require a APISecret in order to access our API, please contact us if you wish to gain this access!
https://cyanlabs.net/syn3-updater-crash-log/?uuid=1ebc7a1a-f9ca-6d3c-8bfd-0242ac120005
Error: System.IO.DirectoryNotFoundException
Message: Cannot find part of the path F:\Downloads\Syn3Updater.
Operating System: Microsoft Windows 10 Pro (2009)
Date Created: 07 June 2021 @ 15:04:41
Implement better logging? NLog? alternative?
Review crash logs and resolve most issues
Convert MessageBox's to pop up on window matching styling
Fix crash when "downloda only" with MY20 check.
The second download doesn't flag as "DownloadOnly" and causes the crash.
Download only was removed due to people wrongly using it and copying the files to USB without any associated autoinstall.lst/reformat.lst files.
Some users want this feature back but it won't be added the same way it was before, need to think of a better way to implement this, maybe a completely separate button on the home screen for Download Only!
Link uploaded logs to indentifier to easily share past logs
Move to Net5 to allow for potentially easier migration to cross platform in the future
Use available partitions from interrogator log and determined APIM size together to give more accurate result than just purely APIM size.
Add multithreaded downloads.
Potentially using Octane?
Replace FontAwesome with somerthing lighter weight, or cutdown version?
Add disclaimer about "retrofitted" screens if My20 not Detected
Only do MY20 check if Sync Version is 3.2+
Fix issue with NA Autoinstall with Maps, some voice packages don't seem to get installed.
As per @bakedpatato's note ;)
Fix button widths to work with translations
Move settings.json from C:\ProgramData to %Appdata% but keep LauncherPrefs.json on C:\ProgramData
This is technically according to Windows spec how it should be, any user specific data should be in %Appdata% and all user data in ProgramData
Implement central folder for all logs created by Syn3 Updater for archival purposes.
Something like
C:\ProgramData\CyanLabs\Syn3Updater\Logs or %LocalAppData%\CyanLabs\Syn3Updater\Logs
Additionally create a UI to parse the logs in App.
While downloading the files.
It happened to me I get a pop-up of those Controlled Access Folder protection to say it's blocked, I pressed to allow it, but the download of those file got stuck on 100% veryfing, so u need to cancel those one, restart, but now u better choose no to empty the folder.
So it only verifies the exiting files already and now I continues to download the others.
My suggestion is after allowing it, it just continues on its own
Add Languages/Areas etc to dropdown, more important for paid packages but also useful for full packages.
Look in to viability of adding a profile section.
Make installer remove C:\ProgramData\CyanLabs\Syn3Updater when uninstalled
Update THIRD-PARTY-NOTICES to reflect all used dependencies
Prevent "Select A Folder" forcing a wipe of the folder
Parse Github Changelog as JSON instead of janky HTMLtoXAML
Fix issue with InstallMode being changeable without Advanced Settings enabled
When showing the "News" pane it highlights the "Home" icon.
Use the available ford utility packages to ensure things like
Hello,
I'm using a not too recent computer and even though it has a ssd, downloading and checking md5 sums is painfully slow though I know my computer is capable of much more.
During download I don't even max out my bandwith and while generating md5 checksums, I should be maxing out a cpu thread but instead I'm stuck waiting on the ssd while a cpu thread barely gets above 10%...
Reading sequentially on that disk with a 4k buffer, I barely get 0.5 MB/s while with 10M buffer I get around 240 MB/s...
So while using the updater, most of the time is not spent writing to the USB thumb drive but actually downloading, writing to disk and then computing MD5 checksums... And that makes it painfully slow.
Reading the code it seems you read chunks of 4kB data from the internet even though the max tcp packet size is 65kB.
And the GenerateMD5 function uses a 4kB buffer as well: it'd be much faster if you used something way larger, in the MB range, specially given the sizes of the files we're dealing with (at least few hundred of MB for the larger ones, if not a couple of GB).
Also lines 138/139 in FileHelper.cs: it doesn't seem you're doing anything with "data".
And on line 299, I guess the allocation that buffer should be done outside of the loop.
Otherwise it's a fantastic tool, love how easy it is to use it.
Regards,
Mathieu
Fix resizing of XAML Elements on Resize of window
Remove "Download Only" to prevent user confusion as it's no longer needed due to the "Select Folder" option
It says 12/01/2021 11:49:13 Re-creating partition table as MBR and formatting as ExFat on selected USB drive
and then nothing happens even after 3 hours.
The pendrive works perfectly, and tried other pendrives with no luck.
Replace hardcoded strings like "downloading", "MY20 Protection" etc.
Describe the bug
Language of Combobox/Dropdowns doesn't change when changing language which causes the string matching to fail due to the combobox item still being 1 language while the string comparison is another language
To Reproduce
A) I open the app, it's in spanish...
B) If I select "Seleccionar Directorio" (select directory), it works as expected
C) I change the language to English, apply it
D) UI is in English, but the option to Select a Directory is still in Spanish, and if I select it, nothing happens (doesn't ask for a directory)
E) I restart the app, UI is back in Spanish, but now the "Select Directory" is in English. Again, if I select it, nothing happens.
F) I restart the app once again, UI stays in Spanish, and now "Select Directory" is also in Spanish. If I select it, a popup appears asking me for a directory.
Expected behavior
It matches the string
I think there is an issue with those MY20 Protection, cause if I don't activate Advanced Settings and so let MY20 protection on OFF, then program asks me when u click Start to begin downloading files for those MY20 protection, when clicking yes, the app crashes.
When u set Advanced Settings to ON, so u can set MY20 Protection to ON, the question is not asked and u can just start downloading the files
Set to "autodetect" when disabling MY20 Protection
The following settings should be hidden behind a warning message explaining that these are for advanced users and that Youtube is not always right ;)
Application Release Branch
Installmode
My20 Protection Toggle
AutoSuggestBox - Sync Version (from API)
ItemsRepeater
ContentDialog #70
NumberBox - For DownloadCount (Maybe Slider instead) / Maybe replace masked textbox?
Update ToggleSwitch to show on/off value next to it
Add ToolTips?
Move "CopyComplete" code back to main thread
currently i need to Invoke and by doing that it causes the dialog not to show until the window is in focus once the copy is complete there is no need for it to be a background task any longer anyway.
Fix issue with having to reselect release if cancel and restart
Fix do you want to empty folder, showing when the folder is already empty
Describe the bug
When I create an "Only Update Maps" usb stick, the program asks me to change the Current Version 3.4.21098 with "Only Update Maps"
Expected behavior
No such message should appear when only updating maps
Desktop (please complete the following information):
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.