Skip to content

feat: Import TheChadSurvivor/Holocron-Toolset-Moded changes#1

Open
oldrepublicwizard wants to merge 7 commits into
masterfrom
chore/import-chad-survivor-moded
Open

feat: Import TheChadSurvivor/Holocron-Toolset-Moded changes#1
oldrepublicwizard wants to merge 7 commits into
masterfrom
chore/import-chad-survivor-moded

Conversation

@oldrepublicwizard

Copy link
Copy Markdown
Contributor

Summary

Import code changes from TheChadSurvivor/Holocron-Toolset-Moded into OldRepublicDevs/HolocronToolset for review.

What's included

Modified files (165 existing files)

  • Toolset source code (editors, dialogs, widgets, windows, utilities)
  • UI files (.ui)
  • Resource files (QSS themes, resources.qrc, resources_rc.py)

New files (39 new files)

  • Consolidated editors: \dlg.py, \git.py, \sav.py\ (single-file versions of previously split packages)
  • New windows: \�udio_player.py, \�utorigger.py, \indoor_builder.py\
  • New widgets: \preview_panel.py, \�iewfinder_gizmo.py, \splash_screen.py\
  • Settings modules: \�pplication.py, \�ase.py, \�nv_vars.py, \git.py, \misc.py, \model_renderer.py, \module_designer.py\
  • New UI files: \indoor_settings.ui, \dlg_original.ui, \sav.ui, \�udio_player.ui\
  • RCC resources:
    esources_rc_pyqt5.py,
    esources_rc_pyqt6.py,
    esources_rc_pyside2.py,
    esources_rc_pyside6.py\
  • Other: \config.py, \globalsettings.py, \layouts.py, \combo_2da.py, \�ditor.py, help docs

Important notes

  • TheChadSurvivor's repo was based on an older PyKotor monorepo version (pre-submodule split, version 1.7).
  • Many modified files may contain older code that was since refactored/improved in OldRepublicDevs.
  • Careful per-file review is recommended to distinguish TheChadSurvivor's valuable additions from version regressions.
  • Files that only exist in the current master (e.g. \�lender/, \config/, \dlg/\ package, \git/\ package, \lip/\ package) are not touched by this PR.

Source

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1a80ff9273

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/toolset/__main__.py Outdated

def main_init():
sys.excepthook = onAppCrash
is_main_process: bool = multiprocessing.current_process() == "MainProcess"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Detect main process correctly before multiprocessing setup

multiprocessing.current_process() returns a process object, so comparing it to the string "MainProcess" is always false. That means the is_main_process branch never executes, so set_start_method("spawn") and atexit.register(last_resort_cleanup) are skipped on every run. In the environments this code targets (especially Linux/macOS), this defeats the intended protection against fork-related updater issues and skips shutdown cleanup registration.

Useful? React with 👍 / 👎.

Comment thread src/toolset/utils/qt_helpers.py Outdated
try:
print(f" {attr}: {getattr(obj, attr)}")
except Exception as ex: # noqa: BLE001
print(f" {attr}: Unable to retrieve value ({ex.__class__.__name__}: {ex})")
print(f" {attr}: Unable to retrieve value ({ex.__class__.__name__}: {e})")

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use the caught exception variable in Qt debug print helper

This except block binds the exception as ex but formats {e} in the message, which raises a new NameError whenever an attribute access fails. In practice, print_qt_object will crash during the exact error path it is meant to report, masking the original exception and breaking diagnostic output.

Useful? React with 👍 / 👎.

@oldrepublicwizard
oldrepublicwizard force-pushed the chore/import-chad-survivor-moded branch from 1a80ff9 to 29bb099 Compare March 31, 2026 21:37
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