Skip to content

fix: prevent fork loop and JSON hang in keybinds hint - #1826

Closed
snakeice wants to merge 3724 commits into
HyDE-Project:devfrom
snakeice:fix/keybinds-hint-fork-loop-and-json-hang
Closed

fix: prevent fork loop and JSON hang in keybinds hint#1826
snakeice wants to merge 3724 commits into
HyDE-Project:devfrom
snakeice:fix/keybinds-hint-fork-loop-and-json-hang

Conversation

@snakeice

@snakeice snakeice commented Jul 23, 2026

Copy link
Copy Markdown

Problem

Two bugs in the keybinds hint system were causing system-wide performance degradation (fork storms with ~568 forks/s, load average spikes to 100+).

Bug 1: keybinds_hint.sh — infinite self-re-execution (exec $0)

The script uses exec $0 in two places as a fallback when rofi produces no output or when a dispatch fails. This causes the script to re-execute itself indefinitely, spawning hundreds of python3 processes per second.

Before:

RUN() {
    case ... in *"Not enough arguments"*) exec $0 ;; esac
}
...
else
    exec $0
fi

Fix: Replace exec $0 with exit 0. If the script reaches a dead end, it should exit, not loop.

Bug 2: hint-hyprland.py — infinite retry on broken JSON

get_hyprctl_binds() had a while True loop that retried hyprctl binds -j forever when JSON parsing failed. On Hyprland 0.56.0, hyprctl binds -j returns malformed JSON (fields shifted, non-numeric values in numeric fields), causing the script to hang indefinitely in the retry loop.

$ hyprctl binds -j | python3 -m json.tool
# JSONDecodeError: Expecting value: line 15 column 16 (char 303)

Fix:

  • Try JSON first with a 5s timeout
  • If JSON is invalid, fall back to parsing the text output of hyprctl binds (no -j flag)
  • All subprocess calls have timeout=5 to prevent indefinite hangs

Impact

  • Fork rate dropped from ~568/s to ~7/s
  • System load returned to normal (was spiking to 100+ on a 14-thread CPU)
  • Keybinds hint (Super+/) now works on Hyprland 0.56.0 where hyprctl binds -j is broken

Testing

Tested on:

  • Hyprland 0.56.0 (commit 36b2e0c)
  • Kernel 7.1.4-1-cachyos
  • Python 3.11
# Before: hangs forever
$ python3 hint-hyprland.py --format rofi
# (no output, CPU spins)

# After: works correctly
$ python3 hint-hyprland.py --format rofi | head -3
 Window Management  ::: ::: Window Management
SUPER + Q > close focused window ::: exec ::: hyde-shell dontkillsteam
ALT + F4 > close focused window ::: exec ::: hyde-shell dontkillsteam

Summary by CodeRabbit

  • Bug Fixes
    • Improved keybinding detection by falling back to text-based parsing when structured output isn’t available.
    • Added bounded command execution for keybind retrieval to avoid indefinite waiting.
    • Prevented the keybind dispatch script from repeatedly restarting when dispatch arguments are missing or selection can’t be performed.
    • Enhanced normalization of keybinding details, including modifier, repeat, lock, mouse, release, and description handling.

kRHYME7 and others added 30 commits April 7, 2026 13:08
…E-Project#1687)

This continues HyDE-Project#1684

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Added optional AMD GPU support as an installable extra.

* **Bug Fixes**
  * Logger input validated; invalid levels now default to INFO.
* Idle-inhibitor no longer closes the display connection when audio
stops.

* **Chores**
* Simplified dependency loading across utilities; several components now
expect required modules to be preinstalled.
  * Adjusted installation/extra handling for AMD support.
  * Updated wiki submodule reference.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…-Project#1688)

# Pull Request

## Description

This is one-line fix for pyutils/logger.py if `log_level` env var is not
set.

Example of a problem
```
❯ “$HOME/.local/lib/hyde/waybar.py” --update
Traceback (most recent call last):
File “/home/zee/.local/lib/hyde/waybar.py”, line 1494, in <module>
main()
~~~~^^
File “/home/zee/.local/lib/hyde/waybar.py”, line 1285, in main
logger.debug(“Starting [waybar.py](http://waybar.py/)”)
^^^^^^^^^^^^
TypeError: get_logger.<locals>.NoOpLogger.getattr() takes 1 positional argument but 2 were given
```

## Type of change

- [x] **Bug fix** (non-breaking change which fixes an issue)
- [ ] **New feature** (non-breaking change which adds functionality)
- [ ] **Breaking change** (fix or feature that would cause existing
functionality to not work as expected)
- [ ] **Documentation update** (non-breaking change; modified files are
limited to the documentations)
- [ ] **Technical debt** (a code change that does not fix a bug or add a
feature but makes something clearer for devs)
- [ ] **Other** (provide details below)

## Checklist

- [x] I have read the
[CONTRIBUTING](https://github.com/HyDE-Project/HyDE/blob/master/CONTRIBUTING.md)
document.
- [x] My code follows the code style of this project.
- [x] My commit message follows the [commit
guidelines](https://github.com/HyDE-Project/HyDE/blob/master/COMMIT_MESSAGE_GUIDELINES.md).
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have added a changelog entry.
- [ ] I have added necessary comments/documentation to my code.
- [ ] I have added tests to cover my changes.
- [x] I have tested my code locally and it works as expected.
- [ ] All new and existing tests passed.



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Improved logging behavior when no log level is set to avoid attribute
errors and ensure safe no-op logging calls, reducing rare runtime
issues.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
* feat: add `waydeeper` wallpaper backend support

https://github.com/EdenQwQ/waydeeper

* feat: waydeeper - add changelog entry

* fixup: drop `eval` after review

* fixup: edit `model` description

* fixup: parameter for disabling smooth animations

* fixup: resolve all coderabbit review issues

* fixup: check if `extract_thumbnail` succeeded

---------

Co-authored-by: Khing <53417443+kRHYME7@users.noreply.github.com>
Co-authored-by: Rubin Bhandari <roobin.bhandari@gmail.com>
This is an automated PR to promote changes from `dev` to `rc`.
Please review and test before merging.

See [TESTING.md](./TESTING.md) for complete testing instructions.

According to our release policy, this PR is expected to be merged
during: **Freeze Week (see release policy)**
Testers are encouraged to test the changes before merging.
Please note that this schedule may be adjusted based on the needs of the
project.

---
* chore Added hyprquery to the core package (e348cea) by kRHYME7
* feat: add `waydeeper` wallpaper backend support (HyDE-Project#1685) (b5c87e1) by
Ilya Bogdanov
* chore Merge branch 'dev' of https://github.com/HyDE-Project/HyDE into
dev (aaf6de7) by kRHYME7
* chore removed stray file from 2 yrs ago huhu (5bbc557) by kRHYME7
* chore Added dynamic fingerprint support. (590236f) by kRHYME7
* chore Merge branch 'dev' of https://github.com/HyDE-Project/HyDE into
dev (a27bd70) by kRHYME7
* fix: `NoOpLogger` caused exception if no `log_level` env is set
(HyDE-Project#1688) (a64cfe8) by Khing
* fix: additional `NoOpLogger` fix suggested by coderabbit (445e373) by
Ilya Bogdanov
* fix: NoOpLogger cause no exception (d12ade2) by Ilya Bogdanov
* feat: update pyamdgpuinfo integration with optional-dependencies
(HyDE-Project#1687) (d1ad741) by Khing
* chore didnt know the wiki was deprecated... (64d06ee) by 0xGeN02
* chore update wiki with uv python env specification (3206c13) by
0xGeN02
* chore Merge branch 'uv' of https://github.com/0xGeN02/HyDE into uv
(395194f) by 0xGeN02
* chore refactor: enhance type annotations and structure in weather.py
for better clarity and maintainability (13010f4) by 0xGeN02
* chore Merge branch 'dev' into uv (659519e) by Khing
* fix: simplify NoOpLogger's __getattr__ method by removing unused
parameters (b12ea76) by 0xGeN02
* chore refactor: enhance logging functionality in UnifiedLogger for
consistent message formatting (57dd0f2) by 0xGeN02
* fix: remove unused imports and clean up import statements in amdgpu.py
(91a7f1d) by 0xGeN02
* fix: remove type ignore comments from inhibitor creation in main
function (df73540) by 0xGeN02
* fix: remove shutdown call when stopping idle inhibition due to no
audio (8949f1c) by 0xGeN02
* fix: adjust import statement for requests in weather.py (e290c72) by
0xGeN02
* chore refactor: clean up imports and enhance logger initialization in
various modules (fa944a3) by 0xGeN02
* feat: update pyamdgpuinfo integration and enhance v_import
functionality with optional dependencies (f81ffdc) by 0xGeN02
* chore added uv (52cd990) by kRHYME7
* chore enhancement: Deprecate custom pyenv and add uv as enviroment
manager (HyDE-Project#1684) (847cb81) by Khing
* chore Merge branch 'dev' into uv (98d5e97) by Khing
* chore added experimental session management and alt-tab feat
(504c830) by kRHYME7
* chore Merge branch 'dev' of https://github.com/HyDE-Project/HyDE into
dev (b3c468b) by kRHYME7
* feat: enhance cmd_uv to support --hyde flag for project environment
context (beb66e5) by 0xGeN02
* feat: add 'uv' command to execute raw uv commands in the CLI
(1c3c67b) by 0xGeN02
* chore add animation stream (0a67f86) by 0xGeN02
* feat: enhance virtual environment management with improved creation
and rebuilding logic (f1791ff) by 0xGeN02
* feat: enhance python_env.py with detailed docstrings and improved
install uninstall functions + sync function (19881bb) by 0xGeN02
* chore refactor: reorganize core helpers and execution layer for
clarity and maintainability (e62b8c9) by 0xGeN02
* chore renamed to python_env (e0f0338) by 0xGeN02
* chore renamed to hyde_pyenv for more clarity (ecba2b7) by 0xGeN02
* feat: add 'uv' command for package management and update built-in
commands (b9bf562) by 0xGeN02
* fix: rename run_pip to run_uv and update usage instructions in
hyde-shell (f56f23e) by 0xGeN02
* fix: remove pyamdgpuinfo from dependencies in pyproject.toml and
uv.lock (38b6df5) by 0xGeN02
* chore Merge branch 'dev' into uv (47d913b) by Khing
* fix(gamelauncher): fix cover art detection for external libraries and…
(HyDE-Project#1681) (ecbdec7) by Khing
* chore Merge branch 'uv' of https://github.com/0xGeN02/HyDE into uv
(3f8086d) by 0xGeN02
* fix: update python commands to python3 and enhance package management
in pip_env.py (1a7cfe3) by 0xGeN02
* chore Merge branch 'dev' into uv (5a3ca19) by Khing
* fix: ensure uv is available after installation in restore_cfg.sh add
pyamdgpuinfo to toml (cfa75af) by 0xGeN02
* chore Replace pip install with uv add for pyprland in run_pypr
function (92e6ffe) by 0xGeN02
* chore Refactopr code to use uv instewad of custon python enviroment
(f05956e) by 0xGeN02
* chore Merge branch 'dev' into fix-gamelouncher (fb18108) by Khing
* fix(hyde-shell): limit search depth in list_script_path and simplify
completion data handling (e4de338) by 0xGeN02
* chore Merge branch 'fix-gamelouncher' of
https://github.com/0xGeN02/HyDE into fix-gamelouncher (8f8d139) by
0xGeN02
* fix(hyde-shell): enhance list_script_path to avoid duplicate directory
searches and handle empty paths (73d5b0a) by 0xGeN02
* chore Update Configs/.local/bin/hyde-shell (c6bbf16) by 0xGeN02
* chore Update Configs/.local/bin/hyde-shell (09466d9) by 0xGeN02
* fix(gamelauncher): redirect icon fetch logs to stderr for better error
handling (ee2f1ff) by 0xGeN02
* fix(hyde-shell): add list_script function for newline-delimited script
names and update command handling (102377b) by 0xGeN02
* fix(gamelauncher): enhance find_header function to improve image
lookup priority and handle directory access errors (7bb9768) by 0xGeN02
* fix(hyde-shell): update built-in commands to include script option for
completion (c89d9e2) by 0xGeN02
* fix(hyde-shell): remove deprecated --list-script option from command
handling (c2bd468) by 0xGeN02
* fix(hyde-shell): declare local variable for root in
list_scripts_pretty function fix(gamelauncher): optimize subdirectory
iteration for game icon retrieval (a2a007d) by 0xGeN02
* fix(hyde-shell): reset groups and roots arrays before declaration in
list_scripts_pretty (7900062) by 0xGeN02
* fix(gamelauncher): improve file existence checks and update fallback
image priorities (2090d69) by 0xGeN02
* fix colors (8f0c656) by 0xGeN02
* chore add list scripts pretty to hyde-shell (99b97a1) by 0xGeN02
* fix(gamelauncher): fix cover art detection for external libraries and
modern Steam (f14378f) by 0xGeN02
* chore Merge branch 'dev' of https://github.com/HyDE-Project/HyDE into
dev (e21ffb3) by kRHYME7
* chore See Changelog (917d2d9) by kRHYME7
* feat: modify Alt+Tab to cycle windows with alterzorder top (HyDE-Project#1617)
(4cda3b9) by Khing
* chore Merge branch 'dev' into features (be5a549) by Khing
* chore Update app2unit from
https://github.com/Vladimir-csp/app2unit/blob/master/app2unit (7c99e79)
by kRHYME7
* chore Update app2unit from
https://github.com/Vladimir-csp/app2unit/blob/master/app2unit (e17a45d)
by kRHYME7
* chore l10n: Lay down some localization infra for bash. Without
sacrificing speed. (189358c) by kRHYME7
* chore Merge branch 'dev' into features (381b2d9) by Rubin Bhandari
* chore Merge branch 'rc' into dev (a82a317) by Khing
* chore up (ef542fd) by kRHYME7
* chore pr (a883cae) by kRHYME7
* chore yey (0b97822) by kRHYME7
* fix:use hyprpolkitagent (HyDE-Project#1650) (6f165bb) by Rubin Bhandari
* chore Merge branch 'dev' into hyprpolkitagent (d31fed7) by Rubin
Bhandari
* feat: Enhance polkitkdeauth.sh to include multiple Polkit agent paths
for better compatibility (96c5b05) by Rubin Bhandari
* feat: wl-togglesink to mute/unmute active-window. (HyDE-Project#1598) (04bb99e)
by Khing
* chore Merge branch 'dev' into dev (8b0b687) by Vyle
* chore Merge branch 'dev' into hyprpolkitagent (ebcf5e7) by Rubin
Bhandari
* feat: hyprsunset  (HyDE-Project#1644) (10fc4ee) by Khing
* chore Merge branch 'dev' into hypsunset (a5aa915) by Khing
* chore Merge branch 'dev' into hyprpolkitagent (518f7c3) by Khing
* doc: French translation for Hyprdots-to-HyDE.fr.md (HyDE-Project#1641) (1b46f94)
by Rubin Bhandari
* chore Merge branch 'dev' into master (d0d8b48) by Rubin Bhandari
* chore Update Source/docs/Hyprdots-to-HyDE.fr.md (77a7667) by Rubin
Bhandari
* chore Update Source/docs/Hyprdots-to-HyDE.fr.md (7a85e23) by Rubin
Bhandari
* chore Update Source/docs/Hyprdots-to-HyDE.fr.md (02ccdbc) by Rubin
Bhandari
* chore Update Source/docs/Hyprdots-to-HyDE.fr.md (e375698) by Rubin
Bhandari
* chore Update Source/docs/Hyprdots-to-HyDE.fr.md (f57d21f) by Rubin
Bhandari
* chore Update Source/docs/Hyprdots-to-HyDE.fr.md (77f7423) by Rubin
Bhandari
* chore Merge branch 'dev' into hyprpolkitagent (db027b2) by Rubin
Bhandari
* chore Merge branch 'dev' into hypsunset (dc3fa88) by Rubin Bhandari
* chore removed deprecated files (8ffa830) by Khing
* feat: hyprsunset (c50879a) by Rubin Bhandari
* chore cleanup swww (d009115) by Khing
* chore removed deprecated files (29c7eae) by Khing
* chore cleanup swww (7f8ab56) by Khing
* chore removed deprecated files (b89f0e9) by Khing
* chore Merge branch 'dev' into hyprpolkitagent (2857459) by Rubin
Bhandari
* fix:use hyprpolkitagent (b9ea5d5) by Rubin Bhandari
* chore Merge branch 'dev' into hypsunset (f5da220) by Rubin Bhandari
* chore Wallpaper: Pt. 1 of multi theming backend. (3e4bec4) by Khing
* chore Porting to awww (74a2f31) by Khing
* chore Add www-daemon to gaming workflow namespace match (d3d8df0) by
Khing
* chore Merge branch 'dev' into hypsunset (6298fd5) by Khing
* chore Fix: gamemode.sh windowrule syntax issue when changing window
opacity (HyDE-Project#1519) (d9fc44a) by Khing
* chore Implement gamemode lock file functionality (7582d04) by Khing
* chore Update Configs/.local/share/hyde/schema/config.toml (f284e42)
by Rubin Bhandari
* chore Update Scripts/restore_cfg.psv (70e4da3) by Rubin Bhandari
* chore Merge branch 'dev' into hypsunset (2bd8eb9) by Rubin Bhandari
* feat: add hyprsunset configuration file (151066a) by Rubin Bhandari
* feat: add blue light filter daemon configuration (f5424d2) by Rubin
Bhandari
* feat: hyprsunset (a93a77f) by Rubin Bhandari
* chore Merge branch 'dev' into fix-gamemode.sh-windowrule-syntax
(3fefb7b) by Rubin Bhandari
* fix: hyprland links (HyDE-Project#1643) (658eca7) by Rubin Bhandari
* fix: hyprland links (c9cb4ac) by Rubin Bhandari
* chore Merge branch 'dev' into dev (c65853f) by Rubin Bhandari
* chore Translate Hyprdots-to-HyDE document to French (bd840a6) by
lelelelkorgpt
* chore Fix French text and improve clarity in Hyprdots-to-HyDE
(0ee0390) by lelelelkorgpt
* chore Merge branch 'dev' into features (6091ae3) by Rubin Bhandari
* chore Add French documentation for Hyprdots to HyDE (3cdde12) by
lelelelkorgpt
* chore Merge branch 'rc' into dev (cd39869) by Khing
* chore add missing dashes to ozone-platform flag in electron-flags.conf
(HyDE-Project#1634) (f6bab84) by Khing
* chore Merge branch 'dev' into master (3d3582e) by Khing
* chore add missing dashes to ozone-platform flag in electron-flags.conf
(a285c94) by Cameloon
* chore Merge branch 'dev' into features (94ab08d) by Omong
* chore Merge branch 'HyDE-Project:dev' into dev (e05ba07) by Vyle
* chore Merge branch 'dev' into features (0f69b26) by Omong
* feat: focus on top features for identical window layer -> changed alt
+ tab keybinding (3591d8f) by O-mong
* feat: focus on top features for identical window layer (8287ed7) by
O-mong
* chore Update wl-togglesink.sh (70f0130) by Vyle
* chore Update Configs/.local/lib/hyde/wl-togglesink.sh (b695f90) by
Vyle
* chore Update wl-togglesink.sh (b310e34) by Vyle
* chore Update wl-togglesink.sh (f23d9a4) by Vyle
* chore Update wl-togglesink.sh (056b876) by Vyle
* chore Update wl-togglesink.sh (be3a4be) by Vyle
* chore Update wl-togglesink.sh (c6236bd) by Vyle
* chore Update wl-togglesink.sh (437cd76) by Vyle
* chore Rehencing the script. (e3afb68) by Vyle
* chore Update Configs/.local/lib/hyde/wl-togglesink.sh (3dd62d6) by
Vyle
* chore Update wl-togglesink.sh (6b3b3d6) by Vyle
* chore Update keybindings.conf (3dd12cb) by Vyle
* chore Introducing wl-togglesink to mute/unmute active-window.
(051d337) by IvyProtocol
* chore Merge branch 'dev' into fix-gamemode.sh-windowrule-syntax
(898ed2e) by Khing
* chore Merge branch 'dev' into fix-gamemode.sh-windowrule-syntax
(828f84f) by Khing
* chore Merge branch 'dev' into fix-gamemode.sh-windowrule-syntax
(8324cf6) by Khing
* chore Merge branch 'dev' into fix-gamemode.sh-windowrule-syntax
(195a0b1) by Khing
* chore Refactor gamemode.sh to use hyde-shell workflows (4ccf339) by
post2424
* chore Merge branch 'dev' into fix-gamemode.sh-windowrule-syntax
(b0a248c) by Khing
* chore Fix windowrule command syntax in gamemode.sh (df276de) by
post2424
* chore Merge branch 'master' into dev (088514b) by kRHYME7
* fix: fastfetch chassis info (d139ece) by kRHYME7
---

Please review the changes carefully before merging.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
github-actions Bot and others added 21 commits August 16, 2026 15:51
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Khing <53417443+kRHYME7@users.noreply.github.com>
Co-authored-by: NoistNT <noistnt@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Rubin Bhandari <roobin.bhandari@gmail.com>
Co-authored-by: Marouan-chak <marouan.chakran@pm.me>
Co-authored-by: 0xGeN02 <manuelmateodgl02@gmail.com>
Co-authored-by: kRHYME7 <53417443+kRHYME7@users.noreply.github.com>
Co-authored-by: yun <chenzm39@gmail.com>
Co-authored-by: PureFallen <68307987+PureFallen@users.noreply.github.com>
Co-authored-by: BigDawnGhost <yelouis231589@gmail.com>
Co-authored-by: Ariel Piazzano <104594670+NoistNT@users.noreply.github.com>
Co-authored-by: Ilya Bogdanov <zeerayne1337@gmail.com>
Co-authored-by: RA <70325462+RAprogramm@users.noreply.github.com>
Co-authored-by: Jared Bautista <dylanjaredbautistasierra03@gmail.com>
Co-authored-by: Maaz Waheed <153950782+42Wor@users.noreply.github.com>
Co-authored-by: Marco Heinemann <marco.heinemann@useblocks.com>
Co-authored-by: yun <94614996+Cc050511@users.noreply.github.com>
Co-authored-by: Júlio Gori Corradi <jgcorradi@gmail.com>
Co-authored-by: TimeSlayer <68065991+time-slayer@users.noreply.github.com>
Co-authored-by: Renato A. Silva <97402553+coldrenatinho@users.noreply.github.com>
Co-authored-by: Marouan Chakran <51269500+Marouan-chak@users.noreply.github.com>
Co-authored-by: RAprogramm <andrey.rozanov.vl@gmail.com>
Co-authored-by: JunaidQrysh <163889347+JunaidQrysh@users.noreply.github.com>
Co-authored-by: Kushie <122986913+kushiemoon-dev@users.noreply.github.com>
Fixes HyDE-Project#1840
Co-authored-by: rubiin <8222059+rubiin@users.noreply.github.com>
)

* fix: enforce decimal rounding in waybar memory module

* docs: add changelog entry for waybar memory fix
…1990)

Co-authored-by: Khing <53417443+kRHYME7@users.noreply.github.com>
Co-authored-by: Rubin Bhandari <roobin.bhandari@gmail.com>
Closes HyDE-Project#1989
…DE-Project#1995)

* feat: auto-load monitors.lua for nwg-displays support

* docs: add changelog entry for monitors.lua auto-load
…#1974)

Co-authored-by: Rubin Bhandari <roobin.bhandari@gmail.com>
Co-authored-by: Khing <53417443+kRHYME7@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@rubiin rubiin closed this Aug 21, 2026
@snakeice
snakeice deleted the fix/keybinds-hint-fork-loop-and-json-hang branch August 25, 2026 22:25
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.