<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Fluorine-Manager.git/libs/uibase/src/nxmurl.cpp, branch main</title>
<subtitle>A port of MO2 in linux with NaK integration and FUSE based VFS. Comes with Root Builder support by default.</subtitle>
<id>http://git.schererleander.de/Fluorine-Manager.git/atom/libs/uibase/src/nxmurl.cpp?h=main</id>
<link rel='self' href='http://git.schererleander.de/Fluorine-Manager.git/atom/libs/uibase/src/nxmurl.cpp?h=main'/>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/'/>
<updated>2026-05-17T00:51:40Z</updated>
<entry>
<title>mo2: catch up to upstream 2.5.3 Betas 3-11</title>
<updated>2026-05-17T00:51:40Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-05-17T00:51:40Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=549b84b0f8815737c93913b200dde3821a062cb0'/>
<id>urn:sha1:549b84b0f8815737c93913b200dde3821a062cb0</id>
<content type='text'>
Multi-area sync against the upstream MO2 2.5.3 beta line. Roughly three
logical sections share the diff:

Catch-up (Betas 3-11):
- nxmaccessmanager: drop "supporter" from validRoles so non-premium
  supporters get the right download path (Beta 10)
- mainwindow: disable tutorial triggers at the trigger sites; Qt 6.11
  lockup on child windows (Beta 4)
- basic_games: add Kingdom Come Deliverance 2, Slay the Spire 2
  (Betas 11, 6)
- uibase: add NXM collections parsing fields/accessors + (?:nxm|modl)
  scheme support in NXMUrl (Beta 9)
- Starfield: blueprintPrefix() on IPluginGame; plugins.txt write
  suppression for blueprint plugins; hasInvalidBlueprint /
  hasUnpairedBlueprint diagnoses; Title-keyed content catalog
  consolidation (Betas 3-5)
- downloadmanager + systemtraymanager + organizercore + iuserinterface
  + settings: add Beta 11 "show notifications when downloads complete
  or fail" toggle and the showNotification plumbing
- nxmaccessmanager: restore upstream re-entry guard for OAuth refresh
  and the styled OAuth response page (Beta 11)
- organizer_en.ts and game-bethesda *_en.ts: pull upstream HEAD strings

Workarounds tab removed:
- Delete settingsdialogworkarounds.{h,cpp}; drop the tab in
  settingsdialog.ui; move "Enable archives parsing" into General
- Hardcode GameSettings::forceEnableCoreFiles() to true so the
  primary-master toggle-off bug (DLCs unchecked on tab refresh) can't
  recur; setter becomes a no-op
- No-op stubs for offlineMode, useProxy, useCustomBrowser, Steam
  appID/credentials, executablesBlacklist, skipFileSuffixes,
  skipDirectories — UI gone, accessors keep call sites green
- settingsdialognexus drops the custom-browser wiring; spawn drops the
  "Change the blacklist" Retry path

Beta 9 download manager port:
- fileID-first match in nxmFilesAvailable and
  nxmFileInfoFromMd5Available; filename remains the fallback
- NexusInterface::isActiveFileStatus() helper; rewrite of
  nxmUpdatesAvailable to use pickNewestVersion /
  findUpdateChainSuccessors / resolveInstalledFileId. ARCHIVED_HIDDEN
  now correctly treated as inactive
- std::optional&lt;unsigned int&gt; reservedID on DownloadInfo factories and
  on the three addDownload overloads; startDownloadURLs and
  startDownloadURLWithMeta return the canonical DownloadID instead of
  m_ActiveDownloads.size()-1 (which was the index, not an ID)
- QHash&lt;unsigned int, DownloadInfo*&gt; m_ByID maintained alongside
  m_ActiveDownloads at every mutation site; downloadInfoByID is now
  O(1) via m_ByID.value(id, nullptr)

LOOT remains intentionally stripped (lootcli build cruft cleaned up
separately). BSA wide-path skipped — Linux UTF-8 paths already work.

Co-Authored-By: Claude Opus 4.7 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add modl:// protocol support for mod.pub downloads</title>
<updated>2026-04-03T17:05:40Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-04-03T17:05:40Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=bc8478161982e8ee8a94d75d208e651766f9d600'/>
<id>urn:sha1:bc8478161982e8ee8a94d75d208e651766f9d600</id>
<content type='text'>
Handle modl:// links alongside nxm:// for downloading mods from
mod.pub. mod.pub uses a different URL format than Nexus — the download
URL is embedded as a query parameter: modl://game/?url=&lt;encoded-url&gt;

- Register x-scheme-handler/modl in desktop files and MIME lists
- Accept both nxm and modl schemes in URL parsing (NxmLink, NXMUrl)
- Parse modl:// direct download links and route to startDownloadURLs
- Make key/expires optional in NxmLink::parse (not used by mod.pub)
- Add debug logging for received URLs to aid troubleshooting

Co-Authored-By: Claude Opus 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fluorine Manager: full Linux port of Mod Organizer 2</title>
<updated>2026-02-11T08:37:39Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-02-11T08:37:39Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=7ee008e150bc5bcf76082d726f719ee0fdfda982'/>
<id>urn:sha1:7ee008e150bc5bcf76082d726f719ee0fdfda982</id>
<content type='text'>
Complete native Linux port with FUSE-based virtual filesystem,
Proton/umu-run integration, and Flatpak packaging.

Key features:
- FUSE VFS replacing Windows USVFS (in-process + standalone helper for Flatpak)
- Proton/GE-Proton/umu-run launcher with env var forwarding
- Flatpak support (sandbox-aware VFS, NXM handler, umu-run)
- Wine prefix management UI
- Case-insensitive path resolution for Linux filesystems
- QSettings-safe INI handling (avoids Bethesda INI corruption)
- Portable instance support with auto-generated launcher scripts

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
