Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CATEGORIES fields destruction and other concerns about format #491

Open
tkapias opened this issue Jul 5, 2022 · 5 comments
Open

CATEGORIES fields destruction and other concerns about format #491

tkapias opened this issue Jul 5, 2022 · 5 comments
Labels
needs-info Needs more info (usually repro instructions)

Comments

@tkapias
Copy link

tkapias commented Jul 5, 2022

Hi,

First of all, thank you for creating Todoman, otherwise I would not have switches 100% to cli for mails, calendars, contacts and todos.

But, I have several issues with Todoman, especially with the categories and the destruction of the original data.

My todo stack:

  • Desktop:
    • vdirsyncer (0.18.0 from Debian repo)
    • todoman (4.1.0 from Debian repo)
  • Server:
  • Android:
    • DAVx5 (4.2.1 from Fdroid)
    • Tasks.org (12.6.1 from Fdroid)

Despite what other reports suggest, I observe that categories are not yet supported on Todoman. But worse, properly formatted data is ruined by Todoman.

  • The --category argument is still not working.
  • The categories are not displayed, either in list, show or edit.
  • If the ics file contains more than one category per line, Todoman destroys the information.
  • If there is only one category, sometimes it leaves it alone, but eventually destroys it.

I tried with VTODOs created on Tasks.org or on Evolution then synchronized by DAVx5->Baikal->Vdirsyncer:

  • The created field is like this: CATEGORIES:cat1,cat2.
  • The CATEGORIES field still exists after synchronization between the 3 machines.
  • The CATEGORIES field disappears after launching Todoman.

In addition:

  • Todoman adds VALUE=DATE: everywhere unlike other tools. (not a serious problem though)
  • Todoman sometimes deletes DTSTART fields if they are added later externally. ( usually there is no reason to do this)
  • Todoman doesn't see VTODOs that don't have a DUE date. ( regrettable for some use cases )
@WhyNotHugo
Copy link
Member

For any issue, I need a sample ics file and a series of steps that you take to reproduce the issue. This is necessary to understand what happens and evaluate how to fix it.

The --category argument is still not working.

What do you mean by "not working"? Some tests run todo list --category... and those seem to be working fine.

The categories are not displayed, either in list, show or edit.

Correct, see: #10

If the ics file contains more than one category per line, Todoman destroys the information.

What exactly did you do? I'd like to be able to reproduce this, sounds like a serious bug.

If there is only one category, sometimes it leaves it alone, but eventually destroys it.

Ditto.

The CATEGORIES field disappears after launching Todoman.

todoman does not write to files when reading them. Did you edit the tasks? What exactly did you do? Editing a few with categories does not

@tkapias
Copy link
Author

tkapias commented Jul 6, 2022

Hello,

Thanks for paying attention to my message.

In the meantime, I discovered that by uninstalling the version from Debian Testing and installing the one from PIP, everything was normal. They are both in 4.1.0 (4.1.0-1 for debian).

I wanted to make an analysis of the differences to provide you with an explanation, so I reinstalled the Debian version, but I don't have the same problems as yesterday... I need to make a clean reproduction, I don't have time today, I'll do it in the week.

Content of a basic VTODO from Android Tasks (stay same in Baikal and Vdirsync):

BEGIN:VCALENDAR
VERSION:2.0
PRODID:+//IDN bitfire.at//ical4android
BEGIN:VTODO
DTSTAMP:20220706T083000Z
UID:546700398054453231
CREATED:20220706T082946Z
LAST-MODIFIED:20220706T082946Z
SUMMARY:TestTask1
DESCRIPTION:TestDescription
PRIORITY:9
STATUS:NEEDS-ACTION
CATEGORIES:TestTag1,TestTag2
DUE;VALUE=DATE:20220710
END:VTODO
END:VCALENDAR

My config:

cache_path = "~/.config/todoman/cache.sqlite3"
date_format = "%Y-%m-%d"
default_due = 48
default_list = "Principal"
default_priority = 9
humanize = False
path = "~/.calendars/*"
time_format = "%H:%M"

Debian version informations:

Package: todoman
Version: 4.1.0-1
Priority: optional
Section: utils
Maintainer: Debian Python Team <team+python@tracker.debian.org>
Installed-Size: 437 kB
Depends: python3-atomicwrites, python3-click, python3-click-log, python3-dateutil, python3-humanize, python3-icalendar, python3-parsedatetime, python3-urwid, python3-xdg, python3:any, libjs-sphinxdoc (>= 4.3), sphinx-rtd-theme-common (>= 1.0.0+dfsg)
Suggests: vdirsyncer
Homepage: https://github.com/pimutils/todoman
Download-Size: 85,5 kB
APT-Sources: https://deb.debian.org/debian testing/main amd64 Packages
Description: Simple CalDAV-based todo manager
 Todoman is a simple, standards-based, cli todo (aka: task) manager. Todos are
 stored into icalendar files, which means you can sync them via CalDAV using,
 for example, vdirsyncer.

 Size Name
  958 /usr/bin/todoman
  --- /usr/lib/python3/dist-packages/todoman
    - ├── bin
   89 │  └── todoman
  126 ├── __init__.py
   94 ├── __main__.py
 16Ki ├── cli.py
6,7Ki ├── configuration.py
1,0Ki ├── exceptions.py
9,0Ki ├── formatters.py
6,0Ki ├── interactive.py
 33Ki ├── model.py
  142 ├── version.py
5,3Ki └── widgets.py

PIP version informations:

Name: todoman
Version: 4.1.0
Summary: A simple CalDav-based todo manager.
Home-page: https://github.com/pimutils/todoman
Author: Hugo Osvaldo Barrera
Author-email: hugo@barrera.io
License: ISC
Location: /home/user/.local/lib/python3.10/site-packages
Requires: atomicwrites, click, click-log, humanize, icalendar, parsedatetime, python-dateutil, pyxdg, urwid
Required-by:

 Size Name
  208 /home/user/.local/bin/todo
  --- /home/user/.local/lib/python3.10/site-packages/todoman
  133 ├── __init__.py
   94 ├── __main__.py
 16Ki ├── cli.py
6,7Ki ├── configuration.py
1,0Ki ├── exceptions.py
9,0Ki ├── formatters.py
6,0Ki ├── interactive.py
 33Ki ├── model.py
  142 ├── version.py
5,3Ki └── widgets.py

@WhyNotHugo WhyNotHugo added the needs-info Needs more info (usually repro instructions) label Oct 11, 2022
@Schubisu
Copy link

I think it's correct that category support does not work in version 4.1.0. When I understand correctly from here and here, the releases (from December 2021) have been generated before category support was added (commit messages feat(categories)) in January 2022 (tui support in July 2022).

I can confirm that it works well when installed from latest github main branch. But the new release v4.2.0 as mentioned in the change log seems to be not yet available.

@WhyNotHugo
Copy link
Member

Indeed, category support is unreleased. I guess there's nothing blocking a 4.2.0 release at this point.

@Schubisu
Copy link

Thanks, just installed 4.2.0 via pip :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-info Needs more info (usually repro instructions)
Projects
None yet
Development

No branches or pull requests

3 participants