Debian and Sisyphus
e47badb7b3
Harden JSON event parsing and broadcast message formatting
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-13 14:00:13 +02:00
Debian and Sisyphus
15d461c234
Fix ZMQ socket monitor leak and guard monitor recv against races
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-09-13 14:00:13 +02:00
xbl
18bfa4b88e
modified: install.sh
2026-06-14 14:50:05 +02:00
xbl
ed78238ddc
modified: install.sh
2026-06-14 14:43:50 +02:00
xbl
bd0a2d4f38
modified: install.sh
2026-06-14 14:41:16 +02:00
xbl
0f84feead8
modified: install.sh
2026-06-14 14:36:15 +02:00
xbl
fb19b09a43
modified: main.py
2026-06-14 14:34:10 +02:00
xbl
e163e988f2
modified: install.sh
2026-06-14 14:29:28 +02:00
xbl
d1f6e15bdb
modified: install.sh
2026-06-14 14:24:35 +02:00
xbl
b87ac01d83
modified: install.sh
2026-06-14 14:16:42 +02:00
xbl
d14c268178
modified: install.sh
2026-06-14 14:15:44 +02:00
xbl
a87533fead
deleted: AUTOCOMPLETE.md
...
modified: README.md
modified: install.sh
2026-06-14 13:59:16 +02:00
xbl
0666d33749
modified: README.md
2026-06-13 10:24:21 +02:00
xbl
29c613877d
deleted: qlpycon.bash
...
deleted: test_ui.py
2026-06-13 10:23:34 +02:00
xbl
7ca9795a39
modified: .gitignore
...
modified: README.md
new file: install.sh
renamed: config.py -> lib/constants.py
renamed: cvars.py -> lib/cvars.py
renamed: formatter.py -> lib/formatter.py
renamed: network.py -> lib/network.py
renamed: parser.py -> lib/parser.py
renamed: qlpycon_config.py -> lib/settings.py
renamed: state.py -> lib/state.py
renamed: ui.py -> lib/ui.py
modified: main.py
modified: qlpycon.bash
new file: qlpycon.conf.example
2026-06-13 10:21:29 +02:00
xbl
be6ae8d137
modified: qlpycon.bash
2026-06-12 20:52:10 +02:00
pfl
530c12d9c0
Fix curses error in print_colored at window boundaries
...
- Wrap all addch calls in try/except blocks
- Return early when hitting window boundary
- Prevents crash when content exceeds window dimensions
- Gracefully truncates output instead of throwing error
2026-01-09 15:13:52 +01:00
pfl
993ed4f051
Fix curses error when info window is full
...
- Wrap addstr newlines in try/except blocks
- Prevents crash when writing to window boundary
- Info window has scrollok=False, so cursor can't move beyond bounds
2026-01-09 15:11:19 +01:00
pfl
42b958acdb
Add terminal resize handling
...
- Detect KEY_RESIZE event in input thread
- Recreate windows with new dimensions on resize
- Redraw all content after resize
- Add minimum terminal size check (20x80)
- Handle both expansion and shrinking gracefully
2026-01-09 15:08:44 +01:00
pfl
f1ed9c3d2c
Add UI test mode script
2026-01-09 15:02:03 +01:00
pfl
4ac9432db9
Ignore CLAUDE*.md files
2026-01-09 14:59:53 +01:00
pfl
fbaa4564e4
Fix cursor position and live timer updates
...
- Track cursor position in UIManager.cursor_pos
- Restore cursor after print_message() and update_server_info()
- Sync cursor_pos between wait_stdin thread and manager
- Update server info panel every second for live timer display
- Timer now ticks continuously instead of only on game events
2026-01-09 14:58:05 +01:00
pfl
a03b4b0b93
Add missing Quake Live commands to autocomplete
...
- Match control: readyall, allready, abort, pause, unpause, lock, unlock, timeout, timein
- Player management: shuffle, put, mute, unmute, slap, slay
- Server control: restart, endgame, nextmap, forcemap
- QLX commands: qlx, elo, balance, teams, scores
- Info commands: serverinfo, players, maplist, configstrings
Total commands increased from 18 to 47
2026-01-09 14:23:50 +01:00
pfl
e6e32033ad
Add live match timer countdown
...
- Add match_time_last_sync timestamp to track server updates
- Update timestamp in parser when TIME events received
- Calculate elapsed time in UI for live countdown
- Timer now ticks in real-time between server events
2026-01-09 14:00:32 +01:00
pfl
16b5209338
Fix exception handling in ui.py
...
- Replace 6 bare except: with except curses.error:
- Remove inline import logging, use module-level logger
- Improves safety by not catching KeyboardInterrupt/SystemExit
2026-01-09 13:56:14 +01:00
pfl
f75adac97a
Optimize patterns and improve script configurability
...
- Add pre-compiled regex pattern for color codes
- Add SPECIAL_CHAR constant (chr(25)) for clarity
- Move time import to module level in parser
- Centralize color code stripping via strip_color_codes()
- Make qlpycon.bash fully configurable (workdir, serverip)
- Add validation checks for workdir and venv
- Fix port numbers in help text (28960-28969)
2026-01-09 13:51:53 +01:00
pfl
224782467d
qlpycon.bash
2026-01-09 13:40:59 +01:00
pfl
216abb4a3f
fix exiting moar
2026-01-09 13:32:00 +01:00
pfl
182f94abb2
quit on quit!
2026-01-09 13:28:29 +01:00
xbl
7d5210214a
salidu
2026-01-09 13:17:30 +01:00
xbl
8d8a729490
changez
2026-01-02 17:05:57 +01:00
xbl
7c031d2cae
featurz
2025-12-30 15:50:07 +01:00
xbl
40e868416e
featurz
2025-12-30 00:50:24 +01:00
xbl
c7b6df9932
changey
2025-12-29 22:40:31 +01:00
xbl
1a57258a2d
feat
2025-12-29 17:06:14 +01:00
xbl
bc4f62dcf8
lul
2025-12-29 14:00:21 +01:00
xbl
dbc4391be2
foxes
2025-12-29 08:41:07 +01:00
xbl
18cf31073f
fixez
2025-12-29 08:05:47 +01:00
xbl
3f61ff1a06
foxes
2025-12-24 10:02:04 +01:00
xbl
53c0b3af55
improoove
2025-12-24 09:23:26 +01:00
xbl
6ef29d83cb
coulorz
2025-12-23 23:06:38 +01:00
xbl
dba0065c99
warmup
2025-12-23 22:38:14 +01:00
xbl
d387a13855
laul
2025-12-23 22:32:49 +01:00
xbl
61a9425650
improoove
2025-12-23 22:13:52 +01:00
xbl
324d9c6a86
newnewnew
2025-12-23 21:59:19 +01:00
xbl
fbc6b596e2
colorz
2025-12-23 17:11:27 +01:00
xbl
c1e5a28b41
saved
2025-12-23 15:41:10 +01:00
xbl
c648a99439
sumting
2025-12-23 10:18:50 +01:00
xbl
6b4445b538
lul
2025-12-23 09:40:55 +01:00
xbl
40b4620822
lol
2025-12-23 09:38:36 +01:00