Distribution
In Cinnamon 6.4.13 on Ubuntu 26.04 (Python 3.14 / newer PyGObject), the "Download" tab in the Applets, Desklets and Extensions pages shows an empty list. No error is shown to the user.
Package version
In Cinnamon 6.4.13 on Ubuntu 26.04 (Python 3.14 / newer PyGObject), the "Download" tab in the Applets, Desklets and Extensions pages shows an empty list. No error is shown to the user.
Graphics hardware in use
No response
Frequency
Always
Bug description
In DownloadSpicesRow.__init__ (ExtensionCore.py, line 770):
score_label = Gtk.Label(self.score)
self.score is an int (from the spices JSON). Older versions of PyGObject silently coerced int to str, but newer versions (Python 3.14 / Ubuntu 26.04) raise:
TypeError: Must be string, not int
This exception is raised for every single row (254 applets), so build_list() produces 0 rows and the list appears empty with no feedback to the user.
Fix
One-line fix in ExtensionCore.py:
# Before
score_label = Gtk.Label(self.score)
# After
score_label = Gtk.Label(str(self.score))
Environment
- Cinnamon: 6.4.13-2
- OS: Ubuntu 26.04 (Resolute Raccoon)
- Architecture: ARM64 (Snapdragon X1E)
- Python: 3.14
- PyGObject: system default from Ubuntu 26.04 repos
---
### Steps to reproduce
In `DownloadSpicesRow.__init__` (ExtensionCore.py, line 770):
```python
score_label = Gtk.Label(self.score)
self.score is an int (from the spices JSON). Older versions of PyGObject silently coerced int to str, but newer versions (Python 3.14 / Ubuntu 26.04) raise:
TypeError: Must be string, not int
This exception is raised for every single row (254 applets), so build_list() produces 0 rows and the list appears empty with no feedback to the user.
Fix
One-line fix in ExtensionCore.py:
# Before
score_label = Gtk.Label(self.score)
# After
score_label = Gtk.Label(str(self.score))
Environment
- Cinnamon: 6.4.13-2
- OS: Ubuntu 26.04 (Resolute Raccoon)
- Architecture: ARM64 (Snapdragon X1E)
- Python: 3.14
- PyGObject: system default from Ubuntu 26.04 repos
---
### Expected behavior
In `DownloadSpicesRow.__init__` (ExtensionCore.py, line 770):
```python
score_label = Gtk.Label(self.score)
self.score is an int (from the spices JSON). Older versions of PyGObject silently coerced int to str, but newer versions (Python 3.14 / Ubuntu 26.04) raise:
TypeError: Must be string, not int
This exception is raised for every single row (254 applets), so build_list() produces 0 rows and the list appears empty with no feedback to the user.
Fix
One-line fix in ExtensionCore.py:
# Before
score_label = Gtk.Label(self.score)
# After
score_label = Gtk.Label(str(self.score))
Environment
- Cinnamon: 6.4.13-2
- OS: Ubuntu 26.04 (Resolute Raccoon)
- Architecture: ARM64 (Snapdragon X1E)
- Python: 3.14
- PyGObject: system default from Ubuntu 26.04 repos
---
### Additional information
In `DownloadSpicesRow.__init__` (ExtensionCore.py, line 770):
```python
score_label = Gtk.Label(self.score)
self.score is an int (from the spices JSON). Older versions of PyGObject silently coerced int to str, but newer versions (Python 3.14 / Ubuntu 26.04) raise:
TypeError: Must be string, not int
This exception is raised for every single row (254 applets), so build_list() produces 0 rows and the list appears empty with no feedback to the user.
Fix
One-line fix in ExtensionCore.py:
# Before
score_label = Gtk.Label(self.score)
# After
score_label = Gtk.Label(str(self.score))
Environment
- Cinnamon: 6.4.13-2
- OS: Ubuntu 26.04 (Resolute Raccoon)
- Architecture: ARM64 (Snapdragon X1E)
- Python: 3.14
- PyGObject: system default from Ubuntu 26.04 repos
---
Distribution
In Cinnamon 6.4.13 on Ubuntu 26.04 (Python 3.14 / newer PyGObject), the "Download" tab in the Applets, Desklets and Extensions pages shows an empty list. No error is shown to the user.
Package version
In Cinnamon 6.4.13 on Ubuntu 26.04 (Python 3.14 / newer PyGObject), the "Download" tab in the Applets, Desklets and Extensions pages shows an empty list. No error is shown to the user.
Graphics hardware in use
No response
Frequency
Always
Bug description
In
DownloadSpicesRow.__init__(ExtensionCore.py, line 770):