Skip to content

flclash@0.8.95: Avoid overwriting existing manifest.json - #18531

Merged
z-Fng merged 1 commit into
ScoopInstaller:masterfrom
deuteros-gex:flclash-mod
Aug 14, 2026
Merged

flclash@0.8.95: Avoid overwriting existing manifest.json#18531
z-Fng merged 1 commit into
ScoopInstaller:masterfrom
deuteros-gex:flclash-mod

Conversation

@deuteros-gex

Copy link
Copy Markdown
Contributor

flclash v0.8.95 introduced a new manifest.json, which is now crucial to running FlclashHelperService.
I believe we need a subfolder to hold flclash files, just like trae and vnote

And the flexible path trick doesn't work for v0.8.95 any more, so notes were modified.

  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 766d6806-8ed2-4339-b69b-a0c45dee05cb

📥 Commits

Reviewing files that changed from the base of the PR and between 633d52d and 9082415.

📒 Files selected for processing (1)
  • bucket/flclash.json

📝 Walkthrough

Walkthrough

The FlClash manifest now extracts files into the app directory. The shortcut targets app\FlClash.exe. The manifest also instructs users to stop FlClashHelperService when cleanup or uninstallation fails.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to 90824

This localized manifest change is merge-ready after normal checks and review; no actionable merge-blocking risk remains.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title uses the required format and clearly states that version 0.8.95 avoids overwriting the existing manifest.json.
Description check ✅ Passed The description explains the version update, the subfolder change, the manifest requirement, and the updated notes; both required checklist items are checked.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

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.

@deuteros-gex

Copy link
Copy Markdown
Contributor Author

/verify

@github-actions

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

flclash

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

Check the full log for details.

@z-Fng z-Fng linked an issue Aug 14, 2026 that may be closed by this pull request
3 tasks
@z-Fng
z-Fng merged commit c32b074 into ScoopInstaller:master Aug 14, 2026
4 checks passed
@deuteros-gex
deuteros-gex deleted the flclash-mod branch August 14, 2026 18:05
@AkariiinMKII

AkariiinMKII commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Thanks for help!
There is another concern that the file in use error which interrupts folder removing always occurs in uninstallation/cleanup process while notes prints after installations, should we use uninstaller scripts to output the prompts instead of notes?

And for a clear uninstallation, I suggest use

Start-Process powershell -Verb RunAs -ArgumentList "sc.exe stop FlClashHelperService | Out-Null; sc.exe delete FlClashHelperService | Out-Null"

@z-Fng

z-Fng commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

There is another concern that the file in use error which interrupts folder removing always occurs in uninstallation/cleanup process while notes prints after installations, should we use installer scripts to output the prompts instead of notes?

I understand this makes updating and uninstalling more seamless, but I personally don't recommend putting Stop-Process, Stop-Service, or registry/service deletions in the manifest for a couple of reasons:

  • Risk of data loss: Abruptly stopping processes can cause users to lose unsaved work.
  • Added complexity: The manifest would need defensive checks to ensure the service exists and was actually provisioned by package installed via Scoop. Overlooking edge cases creates unexpected bugs, leading to a rabbit hole of messy workarounds. e.g., https://github.com/ScoopInstaller/Versions/pull/2279/changes

These features should ideally be implemented in Scoop-Core with configurable options. Unfortunately, it looks unlikely to happen in the short term.

Edit: By the way, there is an existing ignore_running_processes option that might help.

@deuteros-gex

Copy link
Copy Markdown
Contributor Author

Thanks for help! There is another concern that the file in use error which interrupts folder removing always occurs in uninstallation/cleanup process while notes prints after installations, should we use installer scripts to output the prompts instead of notes?

And for a clear uninstallation, I suggest use

Start-Process powershell -Verb RunAs -ArgumentList "sc.exe stop FlClashHelperService | Out-Null; sc.exe delete FlClashHelperService | Out-Null"

IMHO, this is a fair argument in terms of this particular manifest.
I put those sugestions in notes just in case there is controversy in implementation.

@AkariiinMKII

AkariiinMKII commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Thanks for help! There is another concern that the file in use error which interrupts folder removing always occurs in uninstallation/cleanup process while notes prints after installations, should we use installer scripts to output the prompts instead of notes?

And for a clear uninstallation, I suggest use

Start-Process powershell -Verb RunAs -ArgumentList "sc.exe stop FlClashHelperService | Out-Null; sc.exe delete FlClashHelperService | Out-Null"

IMHO, this is a fair argument in terms of this particular manifest.
I put those sugestions in notes just in case there is controversy in implementation.

My fault, I miss typed "uninstaller script" to "install script"

And with the script, we can control whether to print the message

if (-not (Get-Service -Name "FlClashHelperService" -ErrorAction SilentlyContinue)) { return }

@AkariiinMKII

AkariiinMKII commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

There is another concern that the file in use error which interrupts folder removing always occurs in uninstallation/cleanup process while notes prints after installations, should we use installer scripts to output the prompts instead of notes?

I understand this makes updating and uninstalling more seamless, but I personally don't recommend putting Stop-Process, Stop-Service, or registry/service deletions in the manifest for a couple of reasons:

  • Risk of data loss: Abruptly stopping processes can cause users to lose unsaved work.
  • Added complexity: The manifest would need defensive checks to ensure the service exists and was actually provisioned by package installed via Scoop. Overlooking edge cases creates unexpected bugs, leading to a rabbit hole of messy workarounds. e.g., https://github.com/ScoopInstaller/Versions/pull/2279/changes

These features should ideally be implemented in Scoop-Core with configurable options. Unfortunately, it looks unlikely to happen in the short term.

Edit: By the way, there is an existing ignore_running_processes option that might help.

I agree that we should not do this for users, especially which requires admin privilege, I'm just suggesting to change the time when the notes content shown, and expand the command in the notes to enable cleaning up resident services after uninstallation.

I might haven't clearly express it

@deuteros-gex

deuteros-gex commented Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for help! There is another concern that the file in use error which interrupts folder removing always occurs in uninstallation/cleanup process while notes prints after installations, should we use installer scripts to output the prompts instead of notes?
And for a clear uninstallation, I suggest use

Start-Process powershell -Verb RunAs -ArgumentList "sc.exe stop FlClashHelperService | Out-Null; sc.exe delete FlClashHelperService | Out-Null"

IMHO, this is a fair argument in terms of this particular manifest.
I put those sugestions in notes just in case there is controversy in implementation.

My fault, I miss typed "uninstaller script" to "install script"

And with the script, we can control whether to print the message

if (-not (Get-Service -Name "FlClashHelperService" -ErrorAction SilentlyContinue)) { return }

By "controversy" I mean not everyone would agree on an elevated uninstaller script.
Personally I would try to dig further if a package involves priviledged scripts. I believe many scoop users share a common opnion on this matter.
So I assume any introduction to an priviledged script should cause controversy when a PR was created.
Since I didn't want to bother with the discussion (I am not even a good persuader in Chinese, let alone English), I just put those suggestions in Notes , even though I do agree with you that it would be much convenient if implemented in Uninstaller section.
After all, TUN mode is only optional, right?

@AkariiinMKII

Copy link
Copy Markdown
Contributor

Thanks for help! There is another concern that the file in use error which interrupts folder removing always occurs in uninstallation/cleanup process while notes prints after installations, should we use installer scripts to output the prompts instead of notes?
And for a clear uninstallation, I suggest use

Start-Process powershell -Verb RunAs -ArgumentList "sc.exe stop FlClashHelperService | Out-Null; sc.exe delete FlClashHelperService | Out-Null"

IMHO, this is a fair argument in terms of this particular manifest.
I put those sugestions in notes just in case there is controversy in implementation.

My fault, I miss typed "uninstaller script" to "install script"

And with the script, we can control whether to print the message

if (-not (Get-Service -Name "FlClashHelperService" -ErrorAction SilentlyContinue)) { return }

By "controversy" I mean not everyone would agree on an elevated uninstaller script.
Personally I would try to dig further if a package involves priviledged scripts. I believe many scoop users share a common opnion on this matter.
So I assume any introduction to an priviledged script should cause controversy when a PR was created.
Since I didn't want to bother with the discussion (I am not even a good persuader in Chinese, let alone English), I just put those suggestions in Notes , even though I do agree with you that it would be much convenient if implemented in Uninstaller section.
After all, TUN mode is only optional, right?

I agree with your opinion, I'm also obeying the rule that script should not involved in elevated privileges so I'm just suggesting "print the notes here" not "execute it for user", users own the choice.

My apologies here if I've bothered you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: flclash TUN Mode not work in latest version

3 participants