Skip to content

fix: initialize superclass in InternxtVirtualDrive and update extension version to 4 - #453

Open
egalvis27 wants to merge 1 commit into
mainfrom
fix/thunar-filesistem-extension
Open

egalvis27 wants to merge 1 commit into
mainfrom
fix/thunar-filesistem-extension

Conversation

@egalvis27

@egalvis27 egalvis27 commented Sep 2, 2026 •

Copy link
Copy Markdown

What is Changed / Added


  • Added super().__init__() to the InternxtVirtualDrive Thunar extension provider.
  • Added the following Debian package recommendations:
    • thunarx-python
    • gir1.2-thunarx-3.0
    • python3-gi
  • Bumped LATEST_EXTENSION_VERSION from 3 to 4.

Why


  • InternxtVirtualDrive inherits from GObject.GObject; calling its parent initializer ensures the GObject provider is properly initialized before Thunar loads and uses the menu provider.
  • Thunar Python extensions require the Thunar Python loader, the Thunar GObject Introspection typelib, and Python GObject bindings. Declaring these packages as Debian recommendations allows standard .deb installations to install the required runtime dependencies automatically while keeping Thunar support optional for users of other file managers.
  • The extension version bump forces existing installations to remove and reinstall the file-manager extension, ensuring users receive the updated Thunar script instead of keeping an already-installed older copy.
  • Verified the Thunar script is discovered from $XDG_DATA_HOME/thunarx-python/extensions and that the configured virtual-drive path matches the expected $HOME/Internxt Drive location.
  • Verified the extension menu loads successfully when Thunar can initialize its embedded Python runtime. The remaining thunarx-python / PyGObject loading issue observed on Linux Mint 22.3 is a system library ABI issue, not an issue in the extension implementation.

Summary by CodeRabbit

  • New Features

    • Improved Linux file-manager integration, including support for Thunar and required system components.
    • Updated the file-manager extension to version 4.
  • Bug Fixes

    • Improved initialization of the virtual drive for more reliable Thunar integration.
  • Tests

    • Improved test isolation and reliability for drive-server session handling.
    • Updated test discovery configuration to exclude core package tests.

@coderabbitai

coderabbitai Bot commented Sep 2, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: 14f2cf35-76fc-4c07-9521-22e4ffdf1e47

📥 Commits

Reviewing files that changed from the base of the PR and between 63c767e and b2e9cc9.

📒 Files selected for processing (5)
  • assets/python-thunar/internxt-virtual-drive.py
  • package.json
  • src/backend/features/file-manager-extension/version.ts
  • src/infra/drive-server/client/drive-server.client.instance.test.ts
  • vitest.config.main.ts

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The change adds Thunar runtime support, updates the file manager extension version, and adjusts Vitest mocking and test discovery.

Changes

File manager extension support

Layer / File(s) Summary
Thunar runtime integration and versioning
assets/python-thunar/internxt-virtual-drive.py, package.json, src/backend/features/file-manager-extension/version.ts
The Thunar extension initializes its GObject base class. Debian recommendations add Thunar and Python GObject packages. The extension version changes from 3 to 4.
Test isolation and client wiring
src/infra/drive-server/client/drive-server.client.instance.test.ts, vitest.config.main.ts
Drive-server client tests use hoisted authentication mocks. The main Vitest configuration excludes packages/core/**.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to b2e9c

The PR makes localized Thunar initialization, dependency recommendation, and extension-version updates; no actionable merge-blocking risk remains beyond normal checks and review.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 4 files. (1 skipped: 1… Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the primary implementation fix and the extension version update. It omits secondary package and test configuration changes, but it remains concise and accurately describes…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title clearly identifies the primary implementation fix and the extension version update. It omits secondary package and test configuration changes, but it remains concise and accurately describes the main changes.

Full details: Docstring Coverage

Explanation

Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 4 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/thunar-filesistem-extension

Warning

Some tools did not complete. Review the errors below.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install timed out. The project may have too many dependencies for the sandbox.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

sonarqubecloud Bot commented Sep 2, 2026

Copy link
Copy Markdown

@egalvis27
egalvis27 requested a review from AlexisMora September 2, 2026 19:27
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