Skip to content

🦀 C++ rewrite - #124

Draft
PyXiion wants to merge 67 commits into
mainfrom
cpp-rewrite
Draft

PyXiion wants to merge 67 commits into
mainfrom
cpp-rewrite

Conversation

@PyXiion

@PyXiion PyXiion commented Oct 16, 2026

Copy link
Copy Markdown
Owner

Greetings, PyXiion! The silicon-based contributor is here.

Draft PR opened only to trigger CI (ci.yml runs on pull_requests to main) for the cpp-rewrite branch.

…ants (clang-tidy readability-identifier-naming)
…skip POSIX-only cases on Windows; ci: explicit tidy checks
Behavior-preserving cleanup across core and UI:
- core/services: drop unused StartupImpact API and report helpers, the
  SidebarBase cache, GameLauncher injection knobs, parseVersion and
  forwarding wrappers.
- core/organizer, sort: drop test-only tier cycle helpers, merge Rule into
  RuleSpec, single OrganizerService ctor path, dedupe tier closure, folder
  walks and DB checks.
- core/checker, models, providers: one CachedDatabase template, one
  FolderModProvider, shared discover(); drop the test-only incremental
  checker API, write-only issue fields and dead schema types.
- core/workshop, downloads: downloaders notify DownloadManager directly,
  single WorkshopCatalog ctor, drop unused plan/batch fields.
- core root, app: drop AppConfigService, UiPrefsService, test-only XML
  writer, computeStats, the never-called initialize/snapshot chain and the
  PX_SMOKE_EXIT_MS hook; appVersion comes from PROJECT_VERSION.
- ui: delete unused ProgressDialog, AspectRatioBanner, IconButton,
  AppButton, Main.qml, dead QSS and signal relays; split organizer
  editFolder/mutateTag string dispatch into named coroutines; dedupe
  repeated QML blocks.
…l updates

Community rules are optional data: a bad file warns and clears previous
rules instead of failing the mod load, and an asynchronous startup failure
now ends the event loop. Auto-sort sorts from an owned snapshot and drops
stale results instead of touching live checker state from a worker thread.
Workshop cards use typed card data, the mod info panel refreshes per cause,
providers take the metadata cache only per discovery, and the organizer
tree model takes tree ownership. The Workshop backend shares the catalog
Steam transport and no longer turns failures into crawl completion.
Comment thread src/ui/window/restart.hpp
const auto pathParts = path.split(u'/', Qt::SkipEmptyParts);
const auto directoryParts = directory.split(u'/', Qt::SkipEmptyParts);
return pathParts.size() > directoryParts.size() &&
std::equal(directoryParts.begin(), directoryParts.end(),
return Response.json({ response: { total: 1, publishedfiledetails: [{ publishedfileid: '601' }], next_cursor: 'page-2' } });
}
assert.ok(url.pathname.includes('GetDetails'), `Unexpected Steam method ${url.pathname}`);
const input = JSON.parse(url.searchParams.get('input_json')!) as { publishedfileids: string[] } & Record<string, unknown>;
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.

2 participants