-
-
Notifications
You must be signed in to change notification settings - Fork 292
Open
Labels
Description
I apologize if I'm just missing something... I find it hard to believe I'm the first person to run into this error if this is a legitimate bug report...
Bug description
Attempting to use zulip-term just crashes with a KeyError on twenty_four_hour_time.
How is the bug triggered?
How can you reproduce the bug?
- Write zuliprc to the home directory.
- Install and run zulip-term
Session below:
$ cat zuliprc
[api]
[email protected]
key=[redacted]
site=https://[redacted].zulipchat.com
$ uvx zulip-term
Installed 21 packages in 25ms
/home/evan/.cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/urwid/signals.py:253: SyntaxWarning: invalid escape sequence '\*'
:param \*args: zero or more positional arguments to pass to the signal
Loading with:
theme 'zt_dark' specified with no config.
autohide setting 'no_autohide' specified with no config.
maximum footlinks value '3' specified with no config.
color depth setting '256' specified with no config.
notify setting 'disabled' specified with no config.
Welcome to Zulip.
Loading |
Zulip Terminal has crashed!
Please refer to zulip-terminal-tracebacks.log for full log of the error.
You can ask for help at:
https://chat.zulip.org/#narrow/stream/206-zulip-terminal
Thanks for using the Zulip-Terminal interface.
$ uvx zulip-term --version
Zulip Terminal 0.7.0
I used uvx to do the install in this demo but got the same error using the AUR package as well.
Does it produce a 'traceback' or 'exception'?
{e}
'twenty_four_hour_time'
Traceback (most recent call last):
File "/home/evan/.cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/zulipterminal/cli/run.py", line 500, in main
Controller(
~~~~~~~~~~^
config_file=zuliprc_path,
^^^^^^^^^^^^^^^^^^^^^^^^^
...<6 lines>...
debug_path=debug_path,
^^^^^^^^^^^^^^^^^^^^^^
).main()
^
File "/home/evan/.cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/zulipterminal/core.py", line 84, in __init__
self.model = Model(self)
~~~~~^^^^^^
File "/home/evan/.cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/zulipterminal/model.py", line 217, in __init__
twenty_four_hour_time=self.initial_data["twenty_four_hour_time"],
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'twenty_four_hour_time'
How are you running the application?
Please include as many of the following as possible:
- Zulip-terminal version: 0.7.0
- Zulip server version(s): Zulip Cloud Standard
- Operating system (and version): Arch Linux 6.17.9-arch1-1
- Python version (and implementation): see details below for uvx (but again, the same errors occur from AUR version)
$ uvx -v zulip-term
DEBUG uv 0.9.16 (a63e5b62e 2025-12-06)
DEBUG Acquired shared lock for `/home/evan/.cache/uv`
DEBUG Using request timeout of 30s
DEBUG Searching for default Python interpreter in managed installations or search path
DEBUG Searching for managed installations at `.local/share/uv/python`
DEBUG Found `cpython-3.13.7-linux-x86_64-gnu` at `/usr/bin/python` (first executable in the search path)
DEBUG Acquired exclusive lock for `.local/share/uv/tools`
DEBUG Checking for Python environment at: `.local/share/uv/tools/zulip-term`
DEBUG Released lock at `/home/evan/.local/share/uv/tools/.lock`
DEBUG Assessing Python executable as base candidate: /usr/bin/python
DEBUG Caching via base interpreter: `/usr/bin/python`
DEBUG Using request timeout of 30s
DEBUG Solving with installed Python version: 3.13.7
DEBUG Solving with target Python version: >=3.13.7
DEBUG Adding direct dependency: zulip-term*
DEBUG Found fresh response for: https://pypi.org/simple/zulip-term/
DEBUG Searching for a compatible version of zulip-term (*)
DEBUG Selecting: zulip-term==0.7.0 [compatible] (zulip_term-0.7.0-py3-none-any.whl)
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/d5/12/90d32a9d965857d4c322e04099ffd011df725cd99e29af2568342ed85dfd/zulip_term-0.7.0-py3-none-any.whl.metadata
DEBUG Adding transitive dependency for zulip-term==0.7.0: beautifulsoup4>=4.10.0
DEBUG Adding transitive dependency for zulip-term==0.7.0: lxml>=4.7.1
DEBUG Adding transitive dependency for zulip-term==0.7.0: pygments>=2.11.2
DEBUG Adding transitive dependency for zulip-term==0.7.0: pyperclip>=1.8.1
DEBUG Adding transitive dependency for zulip-term==0.7.0: python-dateutil>=2.8.2
DEBUG Adding transitive dependency for zulip-term==0.7.0: pytz>=2022.1
DEBUG Adding transitive dependency for zulip-term==0.7.0: typing-extensions>=3.7
DEBUG Adding transitive dependency for zulip-term==0.7.0: tzlocal>=2.1
DEBUG Adding transitive dependency for zulip-term==0.7.0: urwid-readline>=0.13
DEBUG Adding transitive dependency for zulip-term==0.7.0: urwid>=2.1.2, <2.2.dev0
DEBUG Adding transitive dependency for zulip-term==0.7.0: zulip>=0.8.2
DEBUG Found fresh response for: https://pypi.org/simple/beautifulsoup4/
DEBUG Found fresh response for: https://pypi.org/simple/pygments/
DEBUG Searching for a compatible version of beautifulsoup4 (>=4.10.0)
DEBUG Selecting: beautifulsoup4==4.14.3 [compatible] (beautifulsoup4-4.14.3-py3-none-any.whl)
DEBUG Found fresh response for: https://pypi.org/simple/python-dateutil/
DEBUG Found fresh response for: https://pypi.org/simple/urwid-readline/
DEBUG Found fresh response for: https://pypi.org/simple/zulip/
DEBUG Found fresh response for: https://pypi.org/simple/pyperclip/
DEBUG Acquired exclusive lock for `/home/evan/.cache/uv/sdists-v9/pypi/urwid-readline/0.15.1`
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl.metadata
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/1a/39/47f9197bdd44df24d67ac8893641e16f386c984a0619ef2ee4c51fbbc019/beautifulsoup4-4.14.3-py3-none-any.whl.metadata
DEBUG Found fresh response for: https://pypi.org/simple/pytz/
DEBUG Adding transitive dependency for beautifulsoup4==4.14.3: soupsieve>=1.6.1
DEBUG Adding transitive dependency for beautifulsoup4==4.14.3: typing-extensions>=4.0.0
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/ad/70/be318554495555eba7d8ff6e489f6f74ddb225b24086ba4af62a82e723fd/urwid_readline-0.15.1.tar.gz
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/58/41/0507da59eae2ebb4641895a189eb6438b76610c06c65aa06310b755d3aa7/zulip-0.9.1-py3-none-any.whl.metadata
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/df/80/fc9d01d5ed37ba4c42ca2b55b4339ae6e200b456be3a1aaddf4a9fa99b8c/pyperclip-1.11.0-py3-none-any.whl.metadata
DEBUG Found fresh response for: https://pypi.org/simple/typing-extensions/
DEBUG No static `pyproject.toml` available for: urwid-readline==0.15.1 (FieldNotFound("project"))
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl.metadata
DEBUG Found fresh response for: https://pypi.org/simple/soupsieve/
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl.metadata
DEBUG Found fresh response for: https://pypi.org/simple/tzlocal/
DEBUG No static `PKG-INFO` available for: urwid-readline==0.15.1 (PkgInfo(UnsupportedMetadataVersion("2.1")))
DEBUG Using cached metadata for: urwid-readline==0.15.1
DEBUG Released lock at `/home/evan/.cache/uv/sdists-v9/pypi/urwid-readline/0.15.1/.lock`
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/14/a0/bb38d3b76b8cae341dad93a2dd83ab7462e6dbcdd84d43f54ee60a8dc167/soupsieve-2.8-py3-none-any.whl.metadata
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/c2/14/e2a54fabd4f08cd7af1c07030603c3356b74da07f7cc056e600436edfa17/tzlocal-5.3.1-py3-none-any.whl.metadata
DEBUG Found fresh response for: https://pypi.org/simple/lxml/
DEBUG Found fresh response for: https://pypi.org/simple/urwid/
DEBUG Searching for a compatible version of lxml (>=4.7.1)
DEBUG Selecting: lxml==6.0.2 [compatible] (lxml-6.0.2-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl)
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/d0/34/9e591954939276bb679b73773836c6684c22e56d05980e31d52a9a8deb18/lxml-6.0.2-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.metadata
DEBUG Searching for a compatible version of pygments (>=2.11.2)
DEBUG Acquired exclusive lock for `/home/evan/.cache/uv/sdists-v9/pypi/urwid/2.1.2`
DEBUG Selecting: pygments==2.19.2 [compatible] (pygments-2.19.2-py3-none-any.whl)
DEBUG Searching for a compatible version of pyperclip (>=1.8.1)
DEBUG Selecting: pyperclip==1.11.0 [compatible] (pyperclip-1.11.0-py3-none-any.whl)
DEBUG Searching for a compatible version of python-dateutil (>=2.8.2)
DEBUG Selecting: python-dateutil==2.9.0.post0 [compatible] (python_dateutil-2.9.0.post0-py2.py3-none-any.whl)
DEBUG Adding transitive dependency for python-dateutil==2.9.0.post0: six>=1.5
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/94/3f/e3010f4a11c08a5690540f7ebd0b0d251cc8a456895b7e49be201f73540c/urwid-2.1.2.tar.gz
DEBUG Searching for a compatible version of pytz (>=2022.1)
DEBUG Selecting: pytz==2025.2 [compatible] (pytz-2025.2-py2.py3-none-any.whl)
DEBUG Searching for a compatible version of typing-extensions (>=4.0.0)
DEBUG Selecting: typing-extensions==4.15.0 [compatible] (typing_extensions-4.15.0-py3-none-any.whl)
DEBUG No `pyproject.toml` available for: urwid==2.1.2
DEBUG Searching for a compatible version of tzlocal (>=2.1)
DEBUG Selecting: tzlocal==5.3.1 [compatible] (tzlocal-5.3.1-py3-none-any.whl)
DEBUG Searching for a compatible version of urwid-readline (>=0.13)
DEBUG Selecting: urwid-readline==0.15.1 [compatible] (urwid_readline-0.15.1.tar.gz)
DEBUG Adding transitive dependency for urwid-readline==0.15.1: urwid*
DEBUG Searching for a compatible version of urwid (>=2.1.2, <2.2.dev0)
DEBUG Selecting: urwid==2.1.2 [compatible] (urwid-2.1.2.tar.gz)
DEBUG Found fresh response for: https://pypi.org/simple/six/
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl.metadata
DEBUG No static `PKG-INFO` available for: urwid==2.1.2 (PkgInfo(UnsupportedMetadataVersion("1.1")))
DEBUG Using cached metadata for: urwid==2.1.2
DEBUG Released lock at `/home/evan/.cache/uv/sdists-v9/pypi/urwid/2.1.2/.lock`
DEBUG Searching for a compatible version of zulip (>=0.8.2)
DEBUG Selecting: zulip==0.9.1 [compatible] (zulip-0.9.1-py3-none-any.whl)
DEBUG Adding transitive dependency for zulip==0.9.1: requests[security]>=0.12.1
DEBUG Adding transitive dependency for zulip==0.9.1: distro*
DEBUG Adding transitive dependency for zulip==0.9.1: click*
DEBUG Adding transitive dependency for zulip==0.9.1: typing-extensions>=4.5.0
DEBUG Searching for a compatible version of soupsieve (>=1.6.1)
DEBUG Selecting: soupsieve==2.8 [compatible] (soupsieve-2.8-py3-none-any.whl)
DEBUG Searching for a compatible version of six (>=1.5)
DEBUG Selecting: six==1.17.0 [compatible] (six-1.17.0-py2.py3-none-any.whl)
DEBUG Found fresh response for: https://pypi.org/simple/distro/
DEBUG Found fresh response for: https://pypi.org/simple/requests/
DEBUG Searching for a compatible version of requests[security] (>=0.12.1)
DEBUG Selecting: requests==2.32.5 [compatible] (requests-2.32.5-py3-none-any.whl)
DEBUG Adding transitive dependency for requests==2.32.5: requests==2.32.5
DEBUG Adding transitive dependency for requests==2.32.5: requests[security]==2.32.5
DEBUG Searching for a compatible version of requests (==2.32.5)
DEBUG Found fresh response for: https://pypi.org/simple/click/
DEBUG Selecting: requests==2.32.5 [compatible] (requests-2.32.5-py3-none-any.whl)
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl.metadata
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl.metadata
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl.metadata
DEBUG Adding transitive dependency for requests==2.32.5: charset-normalizer>=2, <4
DEBUG Adding transitive dependency for requests==2.32.5: idna>=2.5, <4
DEBUG Adding transitive dependency for requests==2.32.5: urllib3>=1.21.1, <3
DEBUG Adding transitive dependency for requests==2.32.5: certifi>=2017.4.17
DEBUG Searching for a compatible version of requests[security] (==2.32.5)
DEBUG Selecting: requests==2.32.5 [compatible] (requests-2.32.5-py3-none-any.whl)
DEBUG Searching for a compatible version of distro (*)
DEBUG Selecting: distro==1.9.0 [compatible] (distro-1.9.0-py3-none-any.whl)
DEBUG Searching for a compatible version of click (*)
DEBUG Selecting: click==8.3.1 [compatible] (click-8.3.1-py3-none-any.whl)
DEBUG Found fresh response for: https://pypi.org/simple/idna/
DEBUG Found fresh response for: https://pypi.org/simple/urllib3/
DEBUG Found fresh response for: https://pypi.org/simple/certifi/
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl.metadata
DEBUG Found fresh response for: https://pypi.org/simple/charset-normalizer/
DEBUG Searching for a compatible version of charset-normalizer (>=2, <4)
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/6d/b9/4095b668ea3678bf6a0af005527f39de12fb026516fb3df17495a733b7f8/urllib3-2.6.2-py3-none-any.whl.metadata
DEBUG Selecting: charset-normalizer==3.4.4 [compatible] (charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl)
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl.metadata
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata
DEBUG Searching for a compatible version of idna (>=2.5, <4)
DEBUG Selecting: idna==3.11 [compatible] (idna-3.11-py3-none-any.whl)
DEBUG Searching for a compatible version of urllib3 (>=1.21.1, <3)
DEBUG Selecting: urllib3==2.6.2 [compatible] (urllib3-2.6.2-py3-none-any.whl)
DEBUG Searching for a compatible version of certifi (>=2017.4.17)
DEBUG Selecting: certifi==2025.11.12 [compatible] (certifi-2025.11.12-py3-none-any.whl)
DEBUG Tried 21 versions: beautifulsoup4 1, certifi 1, charset-normalizer 1, click 1, distro 1, idna 1, lxml 1, pygments 1, pyperclip 1, python-dateutil 1, pytz 1, requests 1, six 1, soupsieve 1, typing-extensions 1, tzlocal 1, urllib3 1, urwid 1, urwid-readline 1, zulip 1, zulip-term 1
DEBUG marker environment resolution took 0.005s
Resolved 21 packages in 5ms
DEBUG Checking for Python environment at: `.cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J`
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/beautifulsoup4-4.14.3.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/certifi-2025.11.12.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/charset_normalizer-3.4.4.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/click-8.3.1.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/distro-1.9.0.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/idna-3.11.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/lxml-6.0.2.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/pygments-2.19.2.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/pyperclip-1.11.0.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/python_dateutil-2.9.0.post0.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/pytz-2025.2.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/requests-2.32.5.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/six-1.17.0.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/soupsieve-2.8.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/typing_extensions-4.15.0.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/tzlocal-5.3.1.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/urllib3-2.6.2.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/urwid-2.1.2.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/urwid_readline-0.15.1.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/zulip-0.9.1.dist-info
DEBUG Looking at `.dist-info` at: .cache/uv/archive-v0/8bB3pqW3C2tyAAoUOYU0J/lib/python3.13/site-packages/zulip_term-0.7.0.dist-info
DEBUG Running `zulip-term`
DEBUG Spawned child 886074 in process group 886057
Loading with:
theme 'zt_dark' specified with no config.
autohide setting 'no_autohide' specified with no config.
maximum footlinks value '3' specified with no config.
color depth setting '256' specified with no config.
notify setting 'disabled' specified with no config.
Welcome to Zulip.
Loading /
Zulip Terminal has crashed!
Please refer to zulip-terminal-tracebacks.log for full log of the error.
You can ask for help at:
https://chat.zulip.org/#narrow/stream/206-zulip-terminal
Thanks for using the Zulip-Terminal interface.
DEBUG Command exited with code: 1
DEBUG Released lock at `/home/evan/.cache/uv/.lock`