Skip to content

CalDAV: no clear errors shown in GUI, and tons of tracebacks when configuring an account to sync only specific tags #1323

Description

@nekohayo

After #1322, with the latest git master version run through GNOME Builder and successfully connected to @pentux-GitHub's test server, if I try to configure it to sync only the "cool" tag, I get a million tracebacks in various situations below.


When trying to specify a tag (or more) to synchronize:

When clicking "Enable":

Traceback (most recent call last):
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/backendstree.py", line 121, in on_backend_state_changed
    new_tags = self._get_markup_for_tags(backend.get_attached_tags())
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/backendstree.py", line 134, in _get_markup_for_tags
    tags_txt = get_colored_tags_markup(self.ds, tag_names)
  File "/app/lib/python3.13/site-packages/GTG/gtk/colors.py", line 148, in get_colored_tags_markup
    tag_markups = [get_colored_tag_markup(ds, t) for t in tag_names]
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/colors.py", line 133, in get_colored_tag_markup
    tag_color = tag.get_attribute("color")
                ^^^^^^^^^^^^^^^^^
AttributeError: 'Tag' object has no attribute 'get_attribute'

Then disabling, closing the synchronization dialog, reopening it, you get:

Traceback (most recent call last):
  File "/app/lib/python3.13/site-packages/GTG/gtk/application.py", line 416, in open_backends_manager
    self.open_edit_backends()
    ~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/application.py", line 511, in open_edit_backends
    self.backends_dialog = BackendsDialog(self.ds)
                           ~~~~~~~~~~~~~~^^^^^^^^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/__init__.py", line 74, in __init__
    self._create_widgets_for_treeview()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/__init__.py", line 167, in _create_widgets_for_treeview
    self.backends_tv = BackendsTree(self)
                       ~~~~~~~~~~~~^^^^^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/backendstree.py", line 50, in __init__
    self.refresh()
    ~~~~~~~~~~~~^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/backendstree.py", line 66, in refresh
    self.add_backend(backend)
    ~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/backendstree.py", line 99, in add_backend
    self._get_markup_for_tags(backend.get_attached_tags()),
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/backendstree.py", line 134, in _get_markup_for_tags
    tags_txt = get_colored_tags_markup(self.ds, tag_names)
  File "/app/lib/python3.13/site-packages/GTG/gtk/colors.py", line 148, in get_colored_tags_markup
    tag_markups = [get_colored_tag_markup(ds, t) for t in tag_names]
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/colors.py", line 133, in get_colored_tag_markup
    tag_color = tag.get_attribute("color")
                ^^^^^^^^^^^^^^^^^
AttributeError: 'Tag' object has no attribute 'get_attribute'

When trying to launch the Synchronization dialog again IMMEDIATELY on next startup, while it is trying to synchronize in the background, dialog refuses to show up and you get:

Traceback (most recent call last):
  File "/app/lib/python3.13/site-packages/GTG/gtk/application.py", line 416, in open_backends_manager
    self.open_edit_backends()
    ~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/application.py", line 511, in open_edit_backends
    self.backends_dialog = BackendsDialog(self.ds)
                           ~~~~~~~~~~~~~~^^^^^^^^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/__init__.py", line 74, in __init__
    self._create_widgets_for_treeview()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/__init__.py", line 167, in _create_widgets_for_treeview
    self.backends_tv = BackendsTree(self)
                       ~~~~~~~~~~~~^^^^^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/backendstree.py", line 50, in __init__
    self.refresh()
    ~~~~~~~~~~~~^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/backendstree.py", line 66, in refresh
    self.add_backend(backend)
    ~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/backendstree.py", line 99, in add_backend
    self._get_markup_for_tags(backend.get_attached_tags()),
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/backendstree.py", line 134, in _get_markup_for_tags
    tags_txt = get_colored_tags_markup(self.ds, tag_names)
  File "/app/lib/python3.13/site-packages/GTG/gtk/colors.py", line 148, in get_colored_tags_markup
    tag_markups = [get_colored_tag_markup(ds, t) for t in tag_names]
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
  File "/app/lib/python3.13/site-packages/GTG/gtk/colors.py", line 133, in get_colored_tag_markup
    tag_color = tag.get_attribute("color")
                ^^^^^^^^^^^^^^^^^
AttributeError: 'Tag' object has no attribute 'get_attribute'
2026-08-04 15:36:05,800 - INFO - backend_caldav:_do_periodic_import:193 - Fetching todos from 'https://pentux-server/remote.php/dav/calendars/testgtg/tches/'
2026-08-04 15:36:06,681 - WARNING - backend_caldav:set_task:159 - not loaded yet, ignoring set_task
2026-08-04 15:36:06,681 - WARNING - backend_caldav:set_task:159 - not loaded yet, ignoring set_task
[…etc., dozens of times]
2026-08-04 15:36:07,770 - WARNING - backend_caldav:set_task:159 - not loaded yet, ignoring set_task
2026-08-04 15:36:07,774 - WARNING - backend_caldav:set_task:159 - not loaded yet, ignoring set_task
2026-08-04 15:36:08,172 - INFO - backend_caldav:_do_periodic_import:198 - LOCAL updated 80 tasks
2026-08-04 15:36:08,177 - INFO - backend_caldav:_do_periodic_import:198 - LOCAL unchanged 16 tasks
2026-08-04 15:36:08,178 - INFO - backend_caldav:_do_periodic_import:186 - Running periodic import
Traceback (most recent call last):
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/configurepanel.py", line 206, in on_sync_ended
    if backend_id == self.backend.get_id():
                     ^^^^^^^^^^^^
AttributeError: 'ConfigurePanel' object has no attribute 'backend'
Traceback (most recent call last):
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/configurepanel.py", line 194, in on_sync_started
    if backend_id == self.backend.get_id():
                     ^^^^^^^^^^^^
AttributeError: 'ConfigurePanel' object has no attribute 'backend'
2026-08-04 15:36:08,399 - INFO - backend_caldav:_do_periodic_import:193 - Fetching todos from 'https://pentux-server/remote.php/dav/calendars/testgtg/personal/'
2026-08-04 15:36:09,173 - INFO - backend_caldav:_do_periodic_import:193 - Fetching todos from 'https://pentux-server/remote.php/dav/calendars/testgtg/tches/'
2026-08-04 15:36:09,943 - INFO - backend_caldav:_do_periodic_import:198 - LOCAL unchanged 78 tasks
2026-08-04 15:36:09,950 - INFO - backend_caldav:_set_task:225 - SYNCING updating todo Todo(https://pentux-server/remote.php/dav/calendars/testgtg/tches/c7234cbc-b951-43de-b5ce-566120cc498a.ics)
Traceback (most recent call last):
  File "/app/lib/python3.13/site-packages/GTG/gtk/backends/configurepanel.py", line 206, in on_sync_ended
    if backend_id == self.backend.get_id():
                     ^^^^^^^^^^^^
AttributeError: 'ConfigurePanel' object has no attribute 'backend'
2026-08-04 15:36:10,186 - INFO - backend_caldav:_set_task:225 - SYNCING updating todo Todo(https://pentux-server/remote.php/dav/calendars/testgtg/tches/1750A489-FFA3-4725-8C30-0F3BAD432C68.ics)
2026-08-04 15:36:10,400 - INFO - backend_caldav:_set_task:225 - SYNCING updating todo Todo(https://pentux-server/remote.php/dav/calendars/testgtg/tches/0b4afab3-28ec-4d01-9e79-5bb21b1f9774.ics)
2026-08-04 15:36:10,633 - INFO - backend_caldav:_set_task:225 - SYNCING updating todo Todo(https://pentux-server/remote.php/dav/calendars/testgtg/tches/22155ca8-a215-4adb-84a4-e81a95cfd557.ics)
2026-08-04 15:36:10,846 - INFO - backend_caldav:_set_task:225 - SYNCING updating todo Todo(https://pentux-server/remote.php/dav/calendars/testgtg/tches/EA401D28-D339-4113-A207-257B47C82090.ics)
2026-08-04 15:36:11,072 - INFO - backend_caldav:_set_task:225 - SYNCING updating todo Todo(https://pentux-server/remote.php/dav/calendars/testgtg/tches/GTG-1305-TEMOIN.ics)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions