3 hours ago
Topic:
Github SPS Updater - Updates & Add apps
GianlucaAdministrator Posts: 1401
|
Hi ronen1n,
Some small issues from my side too:- When you release, you should remove your JSON files from the ZIP package because they are automatically recreated on first execution.
- One of the most important tooltips (the Main EXE tooltip shown after GitHub package resolution) should be formatted as a vertical list. At the moment, the detected executables are displayed on a single line, which makes them difficult to read.
- There seems to be something strange with the GitHub publisher website auto resolution.
Try with https://github.com/ahatem/QTranslate/releases/download/v1.5.0/QTranslate-1.5.0-windows-x64.zip. In my case the first time it resolved to majorgeeks.com (???). Second attempt it resolved correctly to github.com/ahatem/QTranslate. - Again regarding publisher resolution: in some cases (which I can't reproduce at the moment) it seems to resolve to github.com itself (web site root). This causes a false positive update detection during the next check.
- Disabled buttons are not easily readable when using the black theme. A gray font color or a different button background may help with the visibility and understanding of the disabled state.
- This is not an issue but a feature request: I would really appreciate it if the main form filters and grid sorting settings were persisted between sessions.
Overall, great progress.
|
|
|
12 hours ago
Topic:
Github SPS Updater - Updates & Add apps
ronen1nPosts: 26
|
Thanks for the review Download updated to Version 2.0.1 with the fixes you wanted if you could check and report
|
|
|
16 hours ago
Topic:
Github SPS Updater - Updates & Add apps
sl23Posts: 322
|
Thanks for the heads up Gian!
First look and I am quite impressed! On opening up I wasnt sure what to expect, but wow, this is quite comprehensive! There are some immediate bugs I have noticed and an immediate FR, but I am pretty busy at present so will test more thoroughly when I get more time. Sorry about that, but Thanks very much for making this ronen1n!!!
1. The PortableApps window has a button under the Add to SyMenu button, no idea what it is, but resizing the window doesn't show it. 2. Similar issue with the Settings dialogue, it shows two buttons at the bottom, but on first opening, I can only see the tops of them, enlarging the window shows that they are Save and Cancel. 3. SPS Community Publisher dialogue shows a link covered by the Account: (not configured) text, likely a settings link to open the settings window for entering the details. 4. PortableApps.com Directory dialogue: This is a FR. It would be useful to have a way to add a new suite as well as selecting a specific suite to install to in the Target Suite drop down. 5. After doing a check now, I found that my ElementalTracker.rar is an unsupported format. Surely RAR format should be supported? Here's the message after clicking Check Now button: Checked 0 definition(s): 0 up to date, 0 without an update source, 0 cannot be updated. No new versions were found.
Errors (1):
• The check failed: 7.0.9: PackerFormat 'zip' does not match the download 'ElementalTracker.rar'
6. And a really bad bug I found is that SyMenu no longer auto-hides on losing focus, I can't hide it, it just keeps being displayed onscreen at all times! Sorry, cant be doing with that one, will have to uninstall until it is fixed! It only seems to do this after opening the plugin. If you don't open the plugin window, it doesnt affect SyMenu operation.
edited by sl23 on 10/11/2026
|
|
|
17 hours ago
Topic:
Github SPS Updater - Updates & Add apps
GianlucaAdministrator Posts: 1401
|
Hi ronen1n,
Thank you very much for the huge amount of work you've put into this project. I had the chance to test some versions and provide feedback along the way, but all the development work and the implementation are entirely yours. I have a feeling this plugin is going to make quite a few users very happy. Be prepared to receive a lot of feedback (mostly good, I suspect ).
Good luck with the release. And may the Force be with you!
|
|
|
18 hours ago
Topic:
Github SPS Updater - Updates & Add apps
ronen1nPosts: 26
|
[Plugin] GitHub SPS Updater & Community Publisher
A plugin for SyMenu that automatically finds and applies updates to apps in your custom suites, lets you add new apps easily, and allows UGMFree uploaders to sync and publish community .sps packages directly to SyMenu servers.
Plugin Features
Adding apps:- Add from GitHub: Paste a repo or release link (owner/repo or full URL) — auto-detects version, release date, asset, main .exe, and extracts the icon.
- Add by direct download link: Paste any .zip, .7z, or .exe URL.
- Add from PortableApps library: Search and add apps directly from the offline PortableApps catalog into your custom suite.
- Icon support: Auto-extracts icons from executables/archives, or browse any custom image (.ico, .png, .jpg, .bmp — auto-converted to 16×16 Base64).
- Auto-configured metadata: Automatically fills in publisher, description, and SPS schema fields (Creative Commons 4.0 license, category).
Updating apps:- Auto check & update via GitHub: Tracks upstream releases, tags, and asset naming patterns.
- Auto update via Webscrape rules: Regex-based scraping for apps without GitHub (scrapes version from download page + downloads via template).
- NirSoft & JetBrains updates: Built-in update tracking for NirSoft tools and JetBrains standalone products.
- Background startup check: Can check for updates quietly on SyMenu startup (configurable interval) with tray notifications.
- 100% Native SyMenu updates: The plugin only updates the local .sps definition files. SyMenu's native updater handles the actual downloading, unpacking, and installing.
UGMFree SPS Publisher (for uploaders):- Check uploader apps: Compares your local custom suite packages against the packages currently live on UGMFree servers under your account.
- One-click publish: Push updated .sps definitions directly to UGMFree without needing external tools.
- Schema validator: Pre-checks categories, packer formats, executable paths, and required metadata before uploading to prevent server errors.
Security & Verification:- VirusTotal integration: Automatically queries VirusTotal API v3 for scan ratios and embeds report permalinks.
- Detection limit guard: Blocks updating a package if VirusTotal detections exceed your threshold.
Menu & Suite Tools:- Prune menu shortcuts: Keep alternative executables you don't use (e.g. 32-bit versions, CLI variants, or secondary companion tools in the same app) from being re-added to your menu every time the app updates.
- Remove duplicate shortcuts: Clean up duplicate entries across suites.
- Merge PortableApps: Import and link apps from an existing PortableApps directory structure.
RequirementsInstallationDownload.Extract the folder into:<SyMenu>\Plugin\SyMenuGitHubUpdater\ Restart SyMenu.Access via Plugin → GitHub SPS updater. Optional Settings
Inside the plugin window, click Settings...:
- GitHub Token: Recommended to increase rate limits from 60 requests/hour to 5,000/hour.
- VirusTotal API Key: If you want automated malware scanning before updating.
- UGMFree Account: Enter your forum username & password if you want to publish community .sps packages.
This post and most of the plugin done by AI so if you need any other explanation for what the plugin doing or want any change that will make sense please let me know This plugin approved by SyMenu author for pro users This plugin still has some bugs so use at your own risk The idea for this plugin is to make adding and updating apps to SyMenu easier Please tell me what you think
Edit:
- Auto-detect vendor APIs & direct releases: Out of the box, popular standalone tools (such as JetBrains' dotPeek, IntelliJ Community, PyCharm Community, NirSoft tools, etc.) are automatically mapped to their official vendor update APIs by name without requiring a GitHub link or manual regex configuration.
### Changelog — Version 2.0.1
**Fixes & UI Improvements:** * **SyMenu Auto-Hide Fixed:** Resolved an issue where SyMenu stayed stuck on-screen and stopped auto-hiding on losing focus. The plugin now explicitly dismisses the SyMenu dropdown upon launching and runs its window on an isolated thread, leaving SyMenu's taskbar auto-hide behavior completely untouched. * **Settings Dialog Layout:** Fixed a layout issue where the "Save" and "Cancel" buttons were cut off at the bottom on initial opening. The dialog now defaults to a taller size and includes vertical auto-scrolling for smaller displays. * **PortableApps Directory Layout & New Suite Creation:** * Fixed an issue where the "Visit website" button was pushed to an invisible second row under high-DPI scaling. * Added the ability to enter a **new suite name directly** in the "Target Suite" dropdown (selecting an existing suite or typing a new suite to install to). * Fixed dark theme rendering for editable dropdowns (eliminated white background flashing/selection glitches and restored the dropdown arrow). * **SPS Community Publisher:** Fixed overlapping text between the account status label (`Account: (not configured)`) and the `(Settings)` link. * **Expanded Archive Compatibility (RAR / ZIP / 7Z):** Fixed check error `PackerFormat 'zip' does not match the download '.rar'`. SyMenu extracts RAR, ZIP, and 7Z interchangeably with 7-Zip; the updater now treats archive formats interchangeably and automatically updates the `<PackerFormat>` tag in the definition to match upstream. * **Expanded Vendor API Rules:** Added automatic JetBrains API tracking for dotPeek, IntelliJ IDEA Community Edition, PyCharm Community Edition, and JetBrains Gateway.
Download SyMenuGitHubUpdater-2.0.1.zip: https://f2h.io/ngoeidginp8n
edited by ronen1n on 10/11/2026
|
|
|
27 days ago
Topic:
Junctions or SymLinks?
sl23Posts: 322
|
That is a very good point! I didnt think of that! Thanks
|
|
|
27 days ago
Topic:
Junctions or SymLinks?
GianlucaAdministrator Posts: 1401
|
Well, the only thing SyMenu does today is create desktop shortcuts for SyItems that are removed when SyMenu closes. This behavior borderlines on a program that strives to be a 'good boy that doesn't dirty your system'.
Anyway, what you're trying to achieve can easily be accomplished using the SyMenu Autoexec feature (on start and close) with an external tool, for example, Symlink Creator, which is already included in the suite.
edited by Gianluca on 15/10/2026
|
|
|
27 days ago
Topic:
Junctions or SymLinks?
sl23Posts: 322
|
Is there any chance of you adding this feature to SyMenu? Maybe as an advanced user unlockable or something. I get that you dont want users to be able to mess up their system, but some of us really do wanna mess it up, er, I mean use this feature! 
It would make things so much better for making things portable. I did this in my launcher, but that was early vibe-coding days with AutoIT, and it wasnt good! It works, but would be so much better if added to SyMenu directly.
Perhaps it could be added via a plugin? Is that even possible? I doubt SyMenu will be able to do that currently, but that would likely be the best solution, then only those who want it would download and use it. I would be willing to create the plugin if you can do the bizness with SyMenu to allow each SyItem to set up Junctions or SymLinks.
Btw, the way I did it in my launcher, was to offer two types, temporary and persistent links of either type. So on starting the my AxiomLauncher, it would create the links, on exiting SyMenu, temporary links would be removed. But if links were set as persistent, they would be created but never removed, unless the option was changed from persistent to temporary.
If it comes to it, I can convert my app into C# where you can review the code and maybe get idea on how to do it. I think it would be an amazing feature for more advanced users.
|
|
|
27 days ago
Topic:
AudioPlugins Suite
sl23Posts: 322
|
This is a new suite designed for Audio Plugins, ie: VST2, VST3, CLAP, etc. They must be portable and not store data on the system drive ideally.
For anyone unfamiliar with these, they are generally used for music production, but often can be used standalone in other audio apps like: - Audacity - OcenAudio - PolyHostInterface - SaviHost - VSTHost - Wavosaur
I have created some VST3 plugins with more to come, so after talking with Gian, he graciously accepted my idea to expand the existing plugin system so custom suites are checked on SyMenu startup, this allows the new AudioPlugins Suite to perform a check for new SPS files on starting SyMenu.
On startup, or indeed manually clicking the SyMenu/Plugins/AudioPlugins item, the plugin performs these actions:
Startup/manual check: → read online Suite/_latest.txt → compare dates → download Suite.zip if needed → extract with SyMenu\Lib\7z.exe → verify packaged _latest.txt and SPS files → back up previous collection → replace the SPS set → write local _latest.txt last → rollback on failure → remove temporary extraction workspace
The idea is to get more devs involved, hopefully, so we can expand on this suite to have a larger collection that is fully portable and allows users to keep all their data together.
You can view my github account here to view the source code and get more info.
edited by sl23 on 15/10/2026
|
|
|
28 days ago
Topic:
SyMenu 8.16
sl23Posts: 322
|
I am almost there, well, about halfway to a release. Should I upload the source to the github repo? Or do you want it kept private? Also, do you want to review the code to make sure it is suitable rather than me just releasing the plugin?
The final behaviour will be:- SyMenu startup + already current: no popup.
- SyMenu startup + successful first install/update: no popup.
- SyMenu startup + failure: show an error.
- User clicks AudioPlugins: perform a fresh online check and always show the result.
- Future SPS Manager manual refresh notification: perform the same check/update silently, then return control to SyMenu.
Too late! I'll email you the entire project so you can check and let me know when its ok to release it or whether its ok to upload the project to github. Thanks for your help with this! 
EDIT: email sent.
edited by sl23 on 13/10/2026
|
|
|
28 days ago
Topic:
SyMenu 8.16
sl23Posts: 322
|
Hi, I have one small issue. I havent really started this yet, but am at the initial development stage, planning. I have found one flaw in the example plugin, or rather ChatGPT has. There is no way to know if a user has clicked the Update App Definitions button in the SPS Manager. If my suite is loaded and I click that, it is expected that a check/download would be performed, yes? But the current test plugin does not have that ability yet. Would you be able to add that or have I missed something?
Thanks much appreciated.
|
|
|
29 days ago
Topic:
SyMenu 8.16
GianlucaAdministrator Posts: 1401
|
It's not a problem whether you use a RAR or a ZIP archive because the plugin itself is responsible for unpacking it. So it's your choice. Anyway, I rarely use RAR because it is a proprietary format. They keep the archiver proprietary while providing the extractor for free, which I find a bit awkward. I've never had any issues with ZIP files, either when using GUI tools or when creating and extracting them programmatically. The issue you got was probably related to the specific ZIP implementation rather than the ZIP format itself. For more than ten years, whenever I needed compression or extraction features in SyMenu, I've relied on 7-Zip through command-line calls rather than implementing the compression algorithms directly in code. Because of that, I'm a lot out of touch with the implementation details and common issues of ZIP libraries, so I'm afraid I can't give you any particularly useful advice on the coding side.
|
|
|
29 days ago
Topic:
SyMenu 8.16
sl23Posts: 322
|
Thanks Gian, i will look at this soon, still a bit tied up with my PolyHost app/plugin.
One question... Would it be ok to sue RAR instead of a ZIP file? I prefer RAR and is easier for me to deal with. Besides, I have had several corrupted ZIPs lately where I update the ZIP file content, no idea why, but RAR seems much more robust, never had any issues with them in over 15 years and I use them constantly on a daily basis. My plan was to create the archive and upload to github so the plugin can check the latest release and update accordingly.
EDIT: Github repo created: https://github.com/sl2365/AudioPluginsSuite Suite name: AudioPlugins Filename: AudioPlugins.rar
edited by sl23 on 12/10/2026
|
|
|
29 days ago
Topic:
SyMenu 8.16
GianlucaAdministrator Posts: 1401
|
Ok, to be clearer with everyone reading this thread, what I sent you is a code template in C# to start creating your own plugin.
|
|
|
29 days ago
Topic:
SyMenu 8.16
sl23Posts: 322
|
Thanks for explaining, I see I completely misunderstood now! lol
One thing, how do I even start with a plugin? I mean, I surely need a basis for how the plugin should interact with SyMenu, is there a template or something, so I can work from that to get my plugin to work correctly? Or is that something still in the works? (EDIT: No worries, I saw you sent me a link in my email! Thanks very much.)
Thanks for the great update, this expands SyMenu considerably! 
edited by sl23 on 12/10/2026
|
|
|
09/10/2026
Topic:
SyMenu 8.16
GianlucaAdministrator Posts: 1401
|
sl23 wrote:
I'm totally confused! Let me clarify, because I think I jumped ahead.
sl23 wrote:
You keep mentioning "the plugin", what plugin is this? Do I need to create one specifically to manage this suite, or is that the part you have done in this update? About the plugin: yes, you would write it yourself. What I changed in this update is that SyMenu now tells every subscribed plugin when it starts. SyMenu doesn't manage custom suites by itself as it does with the main suite, so your plugin uses that "SyMenu is starting" moment to do the work. For example, it can check online whether a newer version of your suite definitions is available, or prepare the local folders on first run.
sl23 wrote:
Could I create a SyMenu plugin that does this check automatically? Yes, you can and you should. Without it, your suite is just a definitions file online that users must download and update manually.
sl23 wrote:
whats the Master SPS you mention and where does this go? Where do I place this? does it become a part of the suite itself? Then I update that whenever theres an updated sps within the suite? About "Master SPS": sorry, I was describing my own setup. "Master" is just the name I would use for a local copy of the SPS files. It is not part of the suite that users receive. Here is the workflow I would follow: - Keep the SPS files of your custom suite in a local folder (your "master" files). - Edit them with SPS Builder, which also helps check file integrity and VirusTotal results. In theory you can do it manually, but then you must check file integrity, VirusTotal report, package size, exe availability, and so on, by yourself. - Don’t use SPS Builder to upload these files to the official SyMenu suite, or they would become part of it. - When ready, zip the files and upload the zip to an online location, for example GitHub. - When a file needs an update, edit it in your master folder, create a new zip with all the files and upload it again. - Your plugin checks that location at SyMenu startup (for example by comparing a version number in the zip name or in a small config/ini file). - If there is a newer version, the plugin notifies the user, who can then update the suite automatically, exactly as they do with the main suite.
|
|
|
08/10/2026
Topic:
SyMenu 8.16
sl23Posts: 322
|
ok, I need further information! lol
I'm totally confused! You keep mentioning "the plugin", what plugin is this? Do I need to create one specifically to manage this suite, or is that the part you have done in this update?
So I have to do the following:
1. Create a zip of all sps files contained in the suite. 2. Upload to say, github. 3. But whats the Master SPS you mention and where does this go? Where do I place this? does it become a part of the suite itself? Then I update that whenever theres an updated sps within the suite?
Could I create a SyMenu plugin that does this check automatically? ie, it performs the check online to see if the updated suite matches the latest installed version via a blank versioned file.ini then downloads and installs into the suite if newer.
|
|
|
08/10/2026
Topic:
SyMenu 8.16
GianlucaAdministrator Posts: 1401
|
I confirm that SyMenu uses the notification icon status for custom suites too. But how does this work? What does a custom suite editor need to do in order to notify SyMenu about updates? Actually, nothing special is required. The mechanism is exactly the same as the one used by the main suite.
Let me explain. When SyMenu starts, it checks its endpoint for updated SPS definitions. If newer definitions are available, it downloads them into its _cache folder. In your scenario, these two tasks are delegated to the plugin. I agree that distributing the custom suite SPS files as a ZIP archive is the simplest solution. SPS files are very small and compress extremely well, so a ZIP archive grants a small download size and a single file to manage. The only difference between the main suite and a custom suite is that for the main suite SyMenu can read SPS files directly from the ZIP archive, while for the custom suite it needs the files to be extracted first. However, unzipping a file is trivial and the plugin can do that in secs.
Once the plugin has downloaded and extracted the updated SPS files inside the custom suite _cache folder, the situation becomes identical to the main suite. At that point, SyMenu can detect available updates in exactly the same way it does for the official suite.
How? Through the software version stored in each SPS file. Let's see the entire workflow. When a new version of AudioPluginABC is released, you would: - update the master SPS for AudioPluginABC, changing the version number and, if necessary, the download URL and any other metadata (file size, VirusTotal information, etc.); - package the updated SPS files into sl23CustomSuiteCollection.v345.zip; - upload the updated ZIP file to your endpoint; - let the plugin and SyMenu do the rest.
The plugin is responsible for checking whether a newer SPS collection is available, downloading it, and extracting it. SyMenu is responsible for determining whether any installed applications in the custom suite require updates by reading the downloaded SPS files.
I also suggest versioning the ZIP filename (for example, v345). This gives the plugin a simple reference point to determine whether the online definition package is newer than the locally downloaded package.
If you adopt this approach, remember to preserve a version marker that the plugin can compare against. This can be the previous ZIP file itself, an empty file named after the version (for example, v345), or a simple text file containing the current version number.
Another important point is the role of SPS Builder. You can use it for sure. What you can't do is upload custom suite SPS files to the UGMFree cloud. For a custom suite you can work with local files (SPS Builder does this easier), and upload the definitions manually to your endpoint.
If you need any other information, please ask.
|
|
|
08/10/2026
Topic:
SyMenu 8.16
sl23Posts: 322
|
I sent an email about this, but perhaps it may be better to post here, then users can see how this affects their own suites.
So the idea of this is that for personal/custom suites to notify SyMenu via the blue Get New Apps icon, by turning it green, is that right? Does it extend that far? But I see you have actually added per item in-menu update notification.
Is there anything an author of a custom suite needs to do? Or is this purely on SyMenu side? As already discussed via email, I plan on releasing a custom suite for AudioPlugins, will these need to be zipped, as the current two built-in suites are, or do I need to make these individual files?
I am just trying to figure out some things wrt how this will work. For example, for a zipped file that can be easily downloaded by users in one go, it becomes necessary for me to manually add new files however I receive these from others, into the suite. For individual sps files, I don't need to do this, but then how do others download all of the separate files as a suite? Its a bit of a problem either way. I am trying to think of how this could literally be done automatically, I realise checks need to be performed on sps files to avoid spam and malicious sps files, but how do you do this? What is your process?
Essentially, we need to understand the process for creating, sharing, updating custom suites.
Thanks for the update, it is indeed a great thing you've done! 
edited by sl23 on 08/10/2026
|
|
|
07/10/2026
Topic:
SyMenu 8.16
GianlucaAdministrator Posts: 1401
|
Dear all, A new version has just been released. The most important changes are:
- A new interface for the plugin system (whatever that means!).
- SyMenu now highlights in the context menu the updates availability in any SPS suite, including custom suites, through a dedicated icon and special text in the context menu.
Let's take a closer look at these two features.
Plugin startup notifications The new plugin interface allows a plugin to be notified whenever SyMenu starts. A more consistent implementation might have been to leverage SyMenu's native Autoexec on Start feature. However, that would have required users to enable Autoexec just to execute a plugin during startup. It seemed preferable to let the plugin itself declare its intention to run at that stage. For those interested in the technical details, the new interface is called ISyPluginNotificationStartup and, as usual, it is exposed through SyMenu.Plugin.Resources.dll. If you need further information, you know who to contact.
Update notifications for secondary and custom suites This is a long-awaited feature. SyMenu can now show update notifications not only for the main suite, but also for the secondary suite (NirSoft) and even for custom suites created by users. When updates are available, the corresponding context menu entry is highlighted with a dedicated icon and text, making it much easier to spot pending updates.
As always, if you have questions or need additional details, feel free to ask.
|
|
|