Skip to content

chore(husky): fixed husky commit message from bash/zsh syntax to sh syntax#2572

Merged
gauthier-th merged 1 commit intoseerr-team:developfrom
MagicLegend:fix-husky-commit-msg-syntax
Feb 25, 2026
Merged

chore(husky): fixed husky commit message from bash/zsh syntax to sh syntax#2572
gauthier-th merged 1 commit intoseerr-team:developfrom
MagicLegend:fix-husky-commit-msg-syntax

Conversation

@MagicLegend
Copy link
Copy Markdown
Contributor

@MagicLegend MagicLegend commented Feb 24, 2026

Description

Fixed husky commit message from bash/zsh syntax to sh syntax to match shebang

How Has This Been Tested?

Before this change:

± % git commit
✔ Preparing lint-staged...
✔ Running tasks for staged files...
✔ Applying modifications from tasks...
✔ Cleaning up temporary files...
cz-cli@4.3.1, cz-conventional-changelog@3.3.0

? Select the type of change that you're committing: style:    Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
? What is the scope of this change (e.g. component or file name): (press enter to skip) tvdb
? Write a short, imperative tense description of the change (max 87 chars):
 (76) improved logging in case of a failure to enrich the TMDB show with TVDB data
? Provide a longer description of the change: (press enter to skip)

? Are there any breaking changes? No
? Does this change affect any open issues? Yes
? If issues are closed, the commit requires a body. Please enter a longer description of the commit itself:
 Improved logging in case of a failure to enrich the TMDB show with TVDB data
? Add issue references (e.g. "fix #123", "re #123".):
 Resolves #2511
.husky/commit-msg: 4: [[: not found
[improve-tvdb-tmdb-mismatch-logging 3d3a8d74] style(tvdb): improved logging in case of a failure to enrich the TMDB show with TVDB data
 1 file changed, 1 insertion(+), 1 deletion(-)

After this change committing no longer throws the error:

± % git commit
→ No staged files match any configured task.
cz-cli@4.3.1, cz-conventional-changelog@3.3.0

? Select the type of change that you're committing: fix:      A bug fix
? What is the scope of this change (e.g. component or file name): (press enter to skip) husky
? Write a short, imperative tense description of the change (max 88 chars):
 (60) fixed husky commit message from bash/zsh syntax to sh syntax
? Provide a longer description of the change: (press enter to skip)
 Fixed husky commit message from bash/zsh syntax to sh syntax to match shebang
? Are there any breaking changes? No                                                                                                                                                                                                                                                                                          ? Does this change affect any open issues? Yes
? Add issue references (e.g. "fix #123", "re #123".):
 fixes #2570
[fix-husky-commit-msg-syntax 522016b5] fix(husky): fixed husky commit message from bash/zsh syntax to sh syntax
 1 file changed, 1 insertion(+), 1 deletion(-)

Screenshots / Logs (if applicable)

Checklist:

  • I have read and followed the contribution guidelines.
  • Disclosed any use of AI (see our policy)
  • I have updated the documentation accordingly.
  • All new and existing tests passed.
  • Successful build pnpm build
  • Translation keys pnpm i18n:extract
  • Database migration (if required)

Summary by CodeRabbit

  • Bug Fixes
    • Enhanced commit message validation to more reliably handle edge cases and improve robustness of variable checks.

@MagicLegend MagicLegend requested a review from a team as a code owner February 24, 2026 13:30
@MagicLegend MagicLegend force-pushed the fix-husky-commit-msg-syntax branch from 522016b to cf35e1d Compare February 24, 2026 13:31
Fixed husky commit message from bash/zsh syntax to sh syntax to match shebang

fixes seerr-team#2570
@MagicLegend MagicLegend force-pushed the fix-husky-commit-msg-syntax branch from cf35e1d to 5b2d19e Compare February 24, 2026 13:31
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 24, 2026

📝 Walkthrough

Walkthrough

The .husky/commit-msg script was updated to replace bash-specific conditional syntax with POSIX-compliant shell syntax, changing [[ -n $HUSKY_BYPASS ]] to [ -n "$HUSKY_BYPASS" ]. This resolves compatibility issues with /bin/sh environments while preserving existing behavior.

Changes

Cohort / File(s) Summary
Shell Script Compatibility Fix
.husky/commit-msg
Changed bash test syntax [[...]] to POSIX-compliant single bracket [...] with quoted variable to ensure /bin/sh compatibility and safe variable handling.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 A bracket here, a quote right there,
The shell now works with extra care,
No bash-isms shall block the way,
POSIX rules the commit today! ✨

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The pull request fully resolves issue #2570 by changing [[ to [ syntax for POSIX sh compatibility. Issues #123 and #2511 are unrelated to this pull request.
Out of Scope Changes check ✅ Passed The single change to .husky/commit-msg is directly in scope for fixing the POSIX sh compatibility issue (#2570); no out-of-scope changes detected.
Title check ✅ Passed The PR title accurately summarizes the main change: fixing the .husky/commit-msg script from bash/zsh syntax to POSIX sh syntax, which is the core objective addressed by the changeset.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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

@fallenbagel
Copy link
Copy Markdown
Collaborator

As mentioned in the issue. This is not a bug so this shouldnt be labelled "fix". A bug is a bug in the application. This is not related to the application.

This should be a chore.

@fallenbagel fallenbagel changed the title fix(husky): fixed husky commit message from bash/zsh syntax to sh syntax chore(husky): fixed husky commit message from bash/zsh syntax to sh syntax Feb 24, 2026
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
.husky/commit-msg (1)

4-4: Quote $1 to avoid word-splitting.

This is usually safe, but quoting makes the hook robust if the commit message path ever contains spaces.

Suggested change
-[ -n "$HUSKY_BYPASS" ] || npx commitlint --edit $1
+[ -n "$HUSKY_BYPASS" ] || npx commitlint --edit "$1"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.husky/commit-msg at line 4, The hook uses an unquoted shell parameter $1
which can undergo word-splitting; update the commit hook invocation so the
commit message path is quoted by replacing npx commitlint --edit $1 with npx
commitlint --edit "$1" and keep the HUSKY_BYPASS check ([ -n "$HUSKY_BYPASS" ]
|| ...) intact; this ensures robustness when the commit message path contains
spaces without changing the existing logic that checks HUSKY_BYPASS.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.husky/commit-msg:
- Line 4: The hook uses an unquoted shell parameter $1 which can undergo
word-splitting; update the commit hook invocation so the commit message path is
quoted by replacing npx commitlint --edit $1 with npx commitlint --edit "$1" and
keep the HUSKY_BYPASS check ([ -n "$HUSKY_BYPASS" ] || ...) intact; this ensures
robustness when the commit message path contains spaces without changing the
existing logic that checks HUSKY_BYPASS.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cd8b386 and 5b2d19e.

📒 Files selected for processing (1)
  • .husky/commit-msg

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR fixes a shell script compatibility issue in the husky commit-msg hook where bash/zsh-specific syntax was used with a POSIX sh shebang, causing errors on systems where /bin/sh is not bash or zsh.

Changes:

  • Changed double bracket test [[ -n $HUSKY_BYPASS ]] to POSIX-compatible single bracket test [ -n "$HUSKY_BYPASS" ] with proper variable quoting

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

@0xSysR3ll 0xSysR3ll left a comment

Choose a reason for hiding this comment

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

LGTM !

@gauthier-th gauthier-th merged commit a00c9e5 into seerr-team:develop Feb 25, 2026
19 of 23 checks passed
alexlebens pushed a commit to alexlebens/infrastructure that referenced this pull request Feb 27, 2026
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/seerr-team/seerr](https://github.com/seerr-team/seerr) | minor | `v3.0.1` → `v3.1.0` |
| [seerr-team/seerr](https://github.com/seerr-team/seerr) | minor | `v3.0.1` → `v3.1.0` |

---

### Release Notes

<details>
<summary>seerr-team/seerr (ghcr.io/seerr-team/seerr)</summary>

### [`v3.1.0`](https://github.com/seerr-team/seerr/releases/tag/v3.1.0)

[Compare Source](seerr-team/seerr@v3.0.1...v3.1.0)

##### 🛡️ Security

- Patch [CVE-2026-27707](GHSA-rc4w-7m3r-c2f7)  - Unauthenticated account registration on Plex-configured Seerr instances via Jellyfin authentication endpoint  - ([4ae2068](seerr-team/seerr@4ae2068))
- Patch [CVE-2026-27793](GHSA-f7xw-jcqr-57hp) - Broken Object-Level Authorization in User Profile Endpoint Exposes Third-Party Notification Credentials - ([4f089b2](seerr-team/seerr@4f089b2))
- Patch [CVE-2026-27792](GHSA-gx3h-3jg5-q65f)  - Missing authentication on pushSubscription endpoints  - ([946bdecec](seerr-team/seerr@946bdec))

##### 🚀 Features

- *(helm)* Use an existing PVC as config volume ([#&#8203;2447](seerr-team/seerr#2447)) - ([8f0c904](seerr-team/seerr@8f0c904))
- *(servarr-api)* Make Servarr API request timeout configurable ([#&#8203;2556](seerr-team/seerr#2556)) - ([3bcb4da](seerr-team/seerr@3bcb4da))
- Self-host font for better privacy ([#&#8203;2540](seerr-team/seerr#2540)) - ([10ea21b](seerr-team/seerr@10ea21b))

##### 🐛 Bug Fixes

- *(helm)* Add "v" as prefix for appVersion tag ([#&#8203;2445](seerr-team/seerr#2445)) - ([04b9d87](seerr-team/seerr@04b9d87))
- *(jellyfin-scanner)* Include unmatched seasons in processable seasons ([#&#8203;2538](seerr-team/seerr#2538)) - ([68f56d2](seerr-team/seerr@68f56d2))
- *(link-account)* Fix error-message override ([#&#8203;2547](seerr-team/seerr#2547)) - ([b843be0](seerr-team/seerr@b843be0))
- *(plex-scanner)* Add TVDb to TMDB fallback in plex scanner ([#&#8203;2537](seerr-team/seerr#2537)) - ([7c60a5c](seerr-team/seerr@7c60a5c))
- *(radarr)* Trigger search for existing monitored movies without files ([#&#8203;2391](seerr-team/seerr#2391)) - ([55776ea](seerr-team/seerr@55776ea))
- *(servarr)* Increase default API timeout from 5000ms to 10000ms ([#&#8203;2442](seerr-team/seerr#2442)) - ([b499976](seerr-team/seerr@b499976))
- *(sonarr)* Use configured metadata provider for season filtering ([#&#8203;2516](seerr-team/seerr#2516)) - ([5013d1d](seerr-team/seerr@5013d1d))
- *(watch-data)* Use sentinel values to avoid invalid SQL syntax ([#&#8203;2552](seerr-team/seerr#2552)) - ([947f70c](seerr-team/seerr@947f70c))
- *(watchlist-sync)* Correct permission typo for TV auto requests ([#&#8203;2488](seerr-team/seerr#2488)) - ([e0e4b6f](seerr-team/seerr@e0e4b6f))
- Preserve blocklist on media deletion & optimise watchlist-sync ([#&#8203;2478](seerr-team/seerr#2478)) - ([9da8bb6](seerr-team/seerr@9da8bb6))

##### 🚜 Refactor

- *(tailwind)* Replace deprecated tailwind utilities ([#&#8203;2542](seerr-team/seerr#2542)) - ([f42a4ec](seerr-team/seerr@f42a4ec))

##### 📖 Documentation

- *(synology)* Add installation guide via SynoCommunity ([#&#8203;2503](seerr-team/seerr#2503)) - ([0e636a3](seerr-team/seerr@0e636a3))
- *(truenas)* Update install/migration guide ([#&#8203;2491](seerr-team/seerr#2491)) - ([dc1734d](seerr-team/seerr@dc1734d))
- *(unraid)* Improve unraid migration guide  ([#&#8203;2470](seerr-team/seerr#2470)) - ([5e64d49](seerr-team/seerr@5e64d49))
- Update Unraid install and migration guides with dual permission methods ([#&#8203;2532](seerr-team/seerr#2532)) - ([a0d0eb1](seerr-team/seerr@a0d0eb1))
- Add a warning in migration-guide for third party installation ([#&#8203;2527](seerr-team/seerr#2527)) - ([7e9dff3](seerr-team/seerr@7e9dff3))
- Remove double quotes (") from DB\_HOST environment variable ([#&#8203;2514](seerr-team/seerr#2514)) - ([fa905be](seerr-team/seerr@fa905be))
- Add Unraid installation and migration guide ([#&#8203;2440](seerr-team/seerr#2440)) - ([b6a9132](seerr-team/seerr@b6a9132))
- Fix migration guide title ([#&#8203;2425](seerr-team/seerr#2425)) - ([39ae32f](seerr-team/seerr@39ae32f))

##### ⚡ Performance

- Add missing indexes on all foreign key columns ([#&#8203;2461](seerr-team/seerr#2461)) - ([c6bcfe0](seerr-team/seerr@c6bcfe0))

##### ⚙️ Miscellaneous Tasks

- *(changelog)* Fix changelog template ([#&#8203;2431](seerr-team/seerr#2431)) - ([c2977f6](seerr-team/seerr@c2977f6))
- *(eslint)* Add react/self-closing-comp ([#&#8203;2563](seerr-team/seerr#2563)) - ([cd8b386](seerr-team/seerr@cd8b386))
- *(github)* Add docs and maintenance issue templates ([#&#8203;2467](seerr-team/seerr#2467)) - ([cf4883a](seerr-team/seerr@cf4883a))
- *(helm)* Add GatewayAPI route support to helm chart ([#&#8203;2544](seerr-team/seerr#2544)) - ([3a42f59](seerr-team/seerr@3a42f59))
- *(helm)* Update ghcr.io/seerr-team/seerr ( 3.0.0 → 3.0.1 ) \[skip-ci] ([#&#8203;2441](seerr-team/seerr#2441)) - ([87fb0df](seerr-team/seerr@87fb0df))
- *(husky)* Fixed husky commit message from bash/zsh syntax to sh syntax ([#&#8203;2572](seerr-team/seerr#2572)) - ([a00c9e5](seerr-team/seerr@a00c9e5))
- *(release)* Prepare ${TAG\_VERSION} - ([94a70bb](seerr-team/seerr@94a70bb))
- Updated the Contributing and Security guides to reflect our current practices ([#&#8203;2579](seerr-team/seerr#2579)) - ([0d40a42](seerr-team/seerr@0d40a42))
- Disable nextjs telemetry ([#&#8203;2517](seerr-team/seerr#2517)) - ([cecdd63](seerr-team/seerr@cecdd63))
- Update contributing guide regarding Automated AI Agent ([#&#8203;2518](seerr-team/seerr#2518)) - ([880fbc9](seerr-team/seerr@880fbc9))
- Remove discord notification from release ([#&#8203;2501](seerr-team/seerr#2501)) - ([fba20c1](seerr-team/seerr@fba20c1))
- Add create-tag workflow to streamline release process ([#&#8203;2493](seerr-team/seerr#2493)) - ([06e5eb0](seerr-team/seerr@06e5eb0))
- Update concurrency logic ([#&#8203;2481](seerr-team/seerr#2481)) - ([4939f13](seerr-team/seerr@4939f13))
- Add semantic-pr workflow to enforce conventional commits ([#&#8203;2472](seerr-team/seerr#2472)) - ([5e57fdc](seerr-team/seerr@5e57fdc))

##### New Contributors ❤️

- [@&#8203;caillou](https://github.com/caillou) made their first contribution
- [@&#8203;Kenshin9977](https://github.com/Kenshin9977) made their first contribution
- [@&#8203;MagicLegend](https://github.com/MagicLegend) made their first contribution
- [@&#8203;wiiaam](https://github.com/wiiaam) made their first contribution
- [@&#8203;mjonkus](https://github.com/mjonkus) made their first contribution
- [@&#8203;nova-api](https://github.com/nova-api) made their first contribution
- [@&#8203;mreid-tt](https://github.com/mreid-tt) made their first contribution
- [@&#8203;DataBitz](https://github.com/DataBitz) made their first contribution
- [@&#8203;Hyperion2220](https://github.com/Hyperion2220) made their first contribution
- [@&#8203;blassley](https://github.com/blassley) made their first contribution
- [@&#8203;JanKleine](https://github.com/JanKleine) made their first contribution
- [@&#8203;koiralasandesh](https://github.com/koiralasandesh) made their first contribution<!-- generated by git-cliff -->

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS43IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4284
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
gwlsn pushed a commit to gwlsn/seerr that referenced this pull request Mar 21, 2026
lucianchauvin pushed a commit to lucianchauvin/jellyseerr that referenced this pull request Apr 20, 2026
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.

Husky commit msg not compatible with /bin/sh

5 participants