taskwarrior-tui icon indicating copy to clipboard operation
taskwarrior-tui copied to clipboard

Unable to parse output error

Open Sergih28 opened this issue 3 years ago โ€ข 18 comments

Describe the bug

Fresh install on mac works, but after synchronising it with my arch linux through https://inthe.am opening taskwarrior-tui throws this error.

Unable to parse output of `"task" "rc.json.array=on" "rc.confirmation=off" "rc.json.depends.array=on" "rc.report.next.filter=status:pending -WAITING limit:page" "export" "next"`:

If I switch to an empty context it doesn't complain.

To Reproduce

Steps to reproduce the behavior:

Environment (please complete the following information):

  • Operating System: Mac 10.15.7
  • Installation: homebrew
  • taskwarrior-tui version: 0.18.5
  • task version: 2.6.1

Additional context and information

Log: 2022-02-06 19:46:20 | INFO | src/app.rs:1633 | Running `"task" "rc.json.array=on" "rc.confirmation=off" "rc.json.depends.array=on" "rc.report.next.filter=status:pending -WAITING limit:page" "export" "next"

I don't know if I'm missing something. Anything else you need to debug this just let me know :) Works fine on my arch linux install, so I'm a bit lost with this error ๐Ÿ™„

Sergih28 avatar Feb 06 '22 20:02 Sergih28

Can you share the output of the following?

task rc.json.array=on rc.confirmation=off rc.json.depends.array=on rc.report.next.filter=status:pending -WAITING export next

Please anonymize the data before sharing. If you are not able to share this, can you try to reproduce the problem with taskwarrior-testdata?

kdheepak avatar Feb 07 '22 04:02 kdheepak

I've been having an identical problem but with a slightly different setup:

  • Not reproducible with data in taskwarrior-testdata, but I've anonymized and attached my task db that is reproducing the problem
  • OS: Arch
  • Installation: AUR via yay - https://archlinux.org/packages/community/x86_64/taskwarrior-tui/
  • taskwarrior-tui version: 0.18.5-1
  • task version: 2.6.1-1
Repro Data
[
  {
    "id": 36,
    "description": "anon description",
    "due": "20220208T080000Z",
    "entry": "20220204T232816Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220205T005447Z",
    "priority": "H",
    "project": "experiments",
    "status": "pending",
    "uuid": "2fbef0d6-97c4-4388-8107-e2ea6e1ca806",
    "tags": [
      "work"
    ],
    "urgency": 24.8024
  },
  {
    "id": 34,
    "description": "anon description",
    "due": "20220207T075959Z",
    "entry": "20220203T204348Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220203T205443Z",
    "priority": "M",
    "project": "data-warehouse",
    "status": "pending",
    "uuid": "09b1bb02-e987-4368-beb0-f76d24867709",
    "tags": [
      "work"
    ],
    "urgency": 14.265
  },
  {
    "id": 39,
    "description": "anon description",
    "due": "20220209T060000Z",
    "entry": "20220206T015738Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040520Z",
    "project": "packing",
    "status": "pending",
    "uuid": "774b61b0-8082-4beb-a9f3-120ee382eae3",
    "tags": [
      "nomad"
    ],
    "urgency": 10.3778
  },
  {
    "id": 29,
    "description": "anon description",
    "due": "20220209T170000Z",
    "entry": "20220126T023135Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220203T185441Z",
    "status": "pending",
    "uuid": "ad35a643-8714-43fa-8c39-b4cbb53dc33f",
    "tags": [
      "work"
    ],
    "urgency": 9.22858
  },
  {
    "id": 26,
    "description": "anon description",
    "entry": "20220119T030422Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220119T031141Z",
    "priority": "H",
    "project": "florida-move",
    "status": "pending",
    "uuid": "1cc790ba-104d-43a8-9bc8-c3c45b5b8976",
    "tags": [
      "nomad"
    ],
    "urgency": 7.90959
  },
  {
    "id": 55,
    "description": "anon description",
    "entry": "20220206T020412Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040522Z",
    "priority": "H",
    "project": "packing",
    "status": "pending",
    "uuid": "2b185374-4ab9-4781-8e45-498fbbd66d4e",
    "tags": [
      "nomad"
    ],
    "urgency": 7.81096
  },
  {
    "id": 9,
    "description": "anon description",
    "due": "20220220T080000Z",
    "entry": "20220106T001116Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220203T185433Z",
    "project": "benefits",
    "status": "pending",
    "uuid": "4c96da64-bb6e-4bc5-bd14-e1246ba5636d",
    "tags": [
      "work"
    ],
    "urgency": 5.48103
  },
  {
    "id": 28,
    "description": "anon description",
    "entry": "20220125T233626Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220204T232907Z",
    "priority": "H",
    "project": "experiments",
    "status": "pending",
    "uuid": "0da7ff89-7952-4a47-921c-1f09f1a43d10",
    "tags": [
      "work"
    ],
    "depends": [
      "2fbef0d6-97c4-4388-8107-e2ea6e1ca806"
    ],
    "urgency": 2.87123
  },
  {
    "id": 15,
    "description": "anon description",
    "entry": "20220119T023128Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220119T031136Z",
    "project": "wrangler",
    "status": "pending",
    "uuid": "88530423-6089-41fe-9914-ed7a643a8089",
    "annotations": [
      {
        "entry": "20220119T023327Z",
        "description": "anon description"
      }
    ],
    "tags": [
      "nomad"
    ],
    "urgency": 2.70959
  },
  {
    "id": 4,
    "description": "anon description",
    "entry": "20210608T055622Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20210729T220056Z",
    "status": "pending",
    "uuid": "29d8f541-5e69-443f-9f7d-e146366cbc8b",
    "tags": [
      "home"
    ],
    "urgency": 2.14247
  },
  {
    "id": 5,
    "description": "anon description",
    "entry": "20210611T173014Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20210729T220059Z",
    "status": "pending",
    "uuid": "898f9c77-48d4-40dc-8333-db04e3d3d05b",
    "tags": [
      "home"
    ],
    "urgency": 2.12603
  },
  {
    "id": 6,
    "description": "anon description",
    "entry": "20210706T170645Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20211108T195856Z",
    "status": "pending",
    "uuid": "f618ba7c-f1f8-4aeb-b8ba-44d8420c97af",
    "tags": [
      "home"
    ],
    "urgency": 1.98904
  },
  {
    "id": 12,
    "description": "anon description",
    "entry": "20220111T232637Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220112T175546Z",
    "project": "andrelytics",
    "status": "pending",
    "uuid": "072bff7e-cf17-4f92-a577-40812817eb5d",
    "tags": [
      "work"
    ],
    "urgency": 1.94795
  },
  {
    "id": 13,
    "description": "anon description",
    "entry": "20220118T231714Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220119T001214Z",
    "project": "andrelytics",
    "status": "pending",
    "uuid": "efe115cc-49ec-43dc-976c-82274cf0357f",
    "tags": [
      "work"
    ],
    "urgency": 1.90959
  },
  {
    "id": 14,
    "description": "anon description",
    "entry": "20220119T022930Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220119T031142Z",
    "project": "rv-loan",
    "status": "pending",
    "uuid": "c61b9c69-d788-4692-abab-d64792d5692a",
    "tags": [
      "nomad"
    ],
    "urgency": 1.90959
  },
  {
    "id": 16,
    "description": "anon description",
    "entry": "20220119T023135Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220119T031132Z",
    "project": "wrangler",
    "status": "pending",
    "uuid": "8c56499b-2274-4e7d-8879-6652259581f0",
    "tags": [
      "nomad"
    ],
    "urgency": 1.90959
  },
  {
    "id": 17,
    "description": "anon description",
    "entry": "20220119T023204Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220119T031140Z",
    "project": "wrangler",
    "status": "pending",
    "uuid": "dd3565d9-9533-4970-b469-064e35311c41",
    "tags": [
      "nomad"
    ],
    "urgency": 1.90959
  },
  {
    "id": 18,
    "description": "anon description",
    "entry": "20220119T023225Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220119T031133Z",
    "project": "wrangler",
    "status": "pending",
    "uuid": "a9e974a0-de8a-420c-91df-279b78276ec2",
    "tags": [
      "nomad"
    ],
    "urgency": 1.90959
  },
  {
    "id": 19,
    "description": "anon description",
    "entry": "20220119T023244Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220119T031133Z",
    "project": "wrangler",
    "status": "pending",
    "uuid": "912f6447-73d2-43cb-bff4-39bfd0cd87fa",
    "tags": [
      "nomad"
    ],
    "urgency": 1.90959
  },
  {
    "id": 20,
    "description": "anon description",
    "entry": "20220119T023304Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220119T031138Z",
    "project": "wrangler",
    "status": "pending",
    "uuid": "62d0c018-098a-4db3-b911-a7d1441d9379",
    "tags": [
      "nomad"
    ],
    "urgency": 1.90959
  },
  {
    "id": 21,
    "description": "anon description",
    "entry": "20220119T024116Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220119T031134Z",
    "project": "wrangler",
    "status": "pending",
    "uuid": "292a78f7-01c6-468a-a4dc-c5bb65a7893c",
    "tags": [
      "nomad"
    ],
    "urgency": 1.90959
  },
  {
    "id": 22,
    "description": "anon description",
    "entry": "20220119T024255Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220119T031140Z",
    "project": "trip-planning",
    "status": "pending",
    "uuid": "c8564ad3-6896-40c7-9653-0cb5d2399593",
    "tags": [
      "nomad"
    ],
    "urgency": 1.90959
  },
  {
    "id": 23,
    "description": "anon description",
    "entry": "20220119T024308Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220119T031134Z",
    "project": "trip-planning",
    "status": "pending",
    "uuid": "23b03a88-31c2-4fcb-ab00-ea101d724eeb",
    "tags": [
      "nomad"
    ],
    "urgency": 1.90959
  },
  {
    "id": 24,
    "description": "anon description",
    "entry": "20220119T024329Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220119T031136Z",
    "project": "florida-move",
    "status": "pending",
    "uuid": "ef5564de-c632-4cb0-a871-2d0d9e556a46",
    "tags": [
      "nomad"
    ],
    "urgency": 1.90959
  },
  {
    "id": 25,
    "description": "anon description",
    "entry": "20220119T025400Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220119T031138Z",
    "project": "florida-move",
    "status": "pending",
    "uuid": "34a8e15f-74b6-469b-9c32-78cb6e04014d",
    "tags": [
      "nomad"
    ],
    "urgency": 1.90959
  },
  {
    "id": 27,
    "description": "anon description",
    "entry": "20220119T030539Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T015718Z",
    "project": "packing",
    "status": "pending",
    "uuid": "e6cd37c1-75d7-4de0-9f07-0d803385d608",
    "tags": [
      "nomad"
    ],
    "urgency": 1.90959
  },
  {
    "id": 30,
    "description": "anon description",
    "entry": "20220126T224859Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220126T233631Z",
    "project": "andrelytics",
    "status": "pending",
    "uuid": "d2d4030b-fa2a-4e17-9d1e-e0cec7c44c2b",
    "tags": [
      "work"
    ],
    "urgency": 1.86575
  },
  {
    "id": 31,
    "description": "anon description",
    "entry": "20220126T225622Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220126T233629Z",
    "project": "andrelytics",
    "status": "pending",
    "uuid": "68b3e1d8-3f8f-494a-b9ec-a672bce1b792",
    "tags": [
      "work"
    ],
    "urgency": 1.86575
  },
  {
    "id": 37,
    "description": "anon description",
    "entry": "20220206T015635Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040517Z",
    "project": "florida-move",
    "status": "pending",
    "uuid": "af2dcf00-19b4-4c08-88ad-f11eac0804c9",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 38,
    "description": "anon description",
    "entry": "20220206T015709Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040516Z",
    "project": "packing",
    "status": "pending",
    "uuid": "b6a8d341-a79b-41e7-a777-83b21394424c",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 40,
    "description": "anon description",
    "entry": "20220206T015808Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040515Z",
    "project": "packing",
    "status": "pending",
    "uuid": "9e6b0397-9a59-4e17-8a56-2b1af4f8e689",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 42,
    "description": "anon description",
    "entry": "20220206T015836Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040516Z",
    "project": "packing",
    "status": "pending",
    "uuid": "1ff2e592-7bfe-4679-a577-c2ffda0b5c00",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 43,
    "description": "anon description",
    "entry": "20220206T015846Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040521Z",
    "project": "packing",
    "status": "pending",
    "uuid": "ff2eea0b-6d61-4714-8293-476f661c26f8",
    "tags": [
      "nomad"
    ],
    "depends": [
      "[\"5cb408df-41a9-411d-bc6c-c7da91621495\"]"
    ],
    "urgency": 1.81096
  },
  {
    "id": 44,
    "description": "anon description",
    "entry": "20220206T015904Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040521Z",
    "project": "finalstuff",
    "status": "pending",
    "uuid": "5cb408df-41a9-411d-bc6c-c7da91621495",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 45,
    "description": "anon description",
    "entry": "20220206T015944Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040512Z",
    "project": "packing",
    "status": "pending",
    "uuid": "ca8fc879-50d6-4d16-998e-2f88d7b19942",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 46,
    "description": "anon description",
    "entry": "20220206T020000Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040514Z",
    "project": "packing",
    "status": "pending",
    "uuid": "07e5065b-1245-44eb-b557-07f8f143c8f0",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 47,
    "description": "anon description",
    "entry": "20220206T020009Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040523Z",
    "project": "packing",
    "status": "pending",
    "uuid": "44961990-b9dd-4211-9743-a5b43219c86e",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 48,
    "description": "anon description",
    "entry": "20220206T020030Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040513Z",
    "project": "packing",
    "status": "pending",
    "uuid": "a6306a03-fb8f-4025-abaa-bae4efa6a420",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 49,
    "description": "anon description",
    "entry": "20220206T020044Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040514Z",
    "project": "packing",
    "status": "pending",
    "uuid": "b9c74234-cac8-4035-8209-510a372ab276",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 50,
    "description": "anon description",
    "entry": "20220206T020105Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040524Z",
    "project": "packing",
    "status": "pending",
    "uuid": "2e57932b-b764-4bf2-8cfc-6c007a386309",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 51,
    "description": "anon description",
    "entry": "20220206T020128Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040518Z",
    "project": "packing",
    "status": "pending",
    "uuid": "4f6f2fd7-4b1f-46e1-841e-2bd98a6c362c",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 52,
    "description": "anon description",
    "entry": "20220206T020218Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040520Z",
    "project": "packing",
    "status": "pending",
    "uuid": "e86f0797-f88b-4c0e-81b1-12b99d2cec4b",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 53,
    "description": "anon description",
    "entry": "20220206T020226Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040512Z",
    "project": "packing",
    "status": "pending",
    "uuid": "5c8359ba-d01c-48bf-aa5f-e5850bba57a0",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 54,
    "description": "anon description",
    "entry": "20220206T020238Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040518Z",
    "project": "packing",
    "status": "pending",
    "uuid": "bbe42f73-8614-4ee1-a355-c7a3b2c29db2",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 56,
    "description": "anon description",
    "entry": "20220206T021430Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040523Z",
    "project": "packing",
    "status": "pending",
    "uuid": "9bc3e0fe-3bf2-4e00-9294-4c527cf39531",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 61,
    "description": "anon description",
    "entry": "20220206T021626Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040519Z",
    "project": "wrangler",
    "status": "pending",
    "uuid": "571e0be6-ea1e-4cd8-a25c-0b8af4e6158a",
    "tags": [
      "nomad"
    ],
    "urgency": 1.81096
  },
  {
    "id": 7,
    "description": "anon description",
    "entry": "20211130T213659Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220106T172946Z",
    "priority": "L",
    "project": "airflow",
    "status": "pending",
    "uuid": "73081f36-9003-4892-8ed6-701f5c177bfd",
    "tags": [
      "work"
    ],
    "urgency": 1.37808
  },
  {
    "id": 10,
    "description": "anon description",
    "entry": "20220106T230107Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220106T233017Z",
    "priority": "L",
    "project": "thoughts",
    "status": "pending",
    "uuid": "2d35d194-e352-4cf9-af1d-4b0959b74b02",
    "tags": [
      "work"
    ],
    "urgency": 1.17534
  },
  {
    "id": 11,
    "description": "anon description",
    "entry": "20220107T002547Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220108T002925Z",
    "priority": "L",
    "project": "experiments",
    "status": "pending",
    "uuid": "ab73c4fc-d1c5-4bcb-98e7-41e35230ace8",
    "tags": [
      "work"
    ],
    "urgency": 1.17534
  },
  {
    "id": 8,
    "description": "anon description",
    "entry": "20220104T004716Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220104T005624Z",
    "status": "pending",
    "uuid": "fe509ae2-5a9b-4ceb-be09-2159212d3f72",
    "tags": [
      "home"
    ],
    "urgency": 0.991781
  },
  {
    "id": 35,
    "description": "anon description",
    "entry": "20220204T232105Z",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220205T005446Z",
    "status": "pending",
    "uuid": "57002a39-d8bf-48a1-a36e-ca3ac150aed9",
    "tags": [
      "work"
    ],
    "urgency": 0.816438
  }
]

TylerLubeck avatar Feb 08 '22 18:02 TylerLubeck

@TylerLubeck I tried with the following context, but still didn't see an error with your data.

context.foo.read=+home
context.foo.write=
context=foo

I tried the following:

mkdir /tmp/repro
cd /tmp/repro
HOME=$(pwd)
task import json # where json contains the json you shared
taskwarrior-tui

bradyt avatar Feb 08 '22 19:02 bradyt

Fascinating @bradyt - can confirm, that flow works fine.

Try with context.foo.read=+nomad and the error appears

TylerLubeck avatar Feb 08 '22 21:02 TylerLubeck

Excellent! I can reproduce here now, I will see if I can help make the reproduce smaller.

bradyt avatar Feb 08 '22 21:02 bradyt

I stepped through and checked each task individually. This caused the issue:

[{"id": 43, "description": "anon description", "entry": "20220206T015846Z", "intheamtrelloboardid": "anontrelloboardid", "intheamtrelloid": "anontrelloid", "modified": "20220206T040521Z", "project": "packing", "status": "pending", "uuid": "ff2eea0b-6d61-4714-8293-476f661c26f8", "tags": ["nomad"], "depends": ["[\"5cb408df-41a9-411d-bc6c-c7da91621495\"]"], "urgency": 1.81096}]

When I remove the depends key and value and then reimport the blob, it works again.

Helper script:

#!/usr/bin/env python

import json
import sys
import subprocess
import shlex

if __name__ == '__main__':
    filename = sys.argv[1]
    with open(filename, 'r') as f:
        data = json.load(f)

    for i, task in enumerate(data):
        with open(f'tasks/{i}.json', 'w') as f:
            json.dump([task], f)
        subprocess.run(shlex.split("rm -rf .task .cache .local"))
        subprocess.run(shlex.split(f"task import tasks/{i}.json"))
        print(f"Imported task: {json.dumps([task])}")
        input("Check taskwarrior-tui, then press enter to continue")

TylerLubeck avatar Feb 08 '22 21:02 TylerLubeck

Oh great, you narrowed it down.

Ah, there's a bug at Taskwarrior that creates that bad depends data. There's a fix committed, but they haven't created a release yet. That depends data will get garbled when it makes a roundtrip over current Taskserver stable 1.1.0.

bradyt avatar Feb 08 '22 21:02 bradyt

I think the problem might be with inthe.am malformatting the depends key on sync - when I create some dependencies myself, no problems.

Works fine:

[
{"id":1,"description":"anon description","entry":"20220206T015904Z","intheamtrelloboardid":"anontrelloboardid","intheamtrelloid":"anontrelloid","modified":"20220206T040521Z","project":"finalstuff","status":"pending","uuid":"5cb408df-41a9-411d-bc6c-c7da91621495","tags":["nomad"],"urgency":9.81096},
{"id":2,"description":"test","entry":"20220208T214343Z","modified":"20220208T214343Z","status":"pending","uuid":"02aa9556-79d0-4b41-a7c9-395f7966ea37","urgency":0},
{"id":3,"description":"other test","entry":"20220208T214352Z","modified":"20220208T214352Z","status":"pending","uuid":"65a109d6-a439-4c88-a765-d8802f9b122a","depends":["5cb408df-41a9-411d-bc6c-c7da91621495"],"urgency":-5}
]

TylerLubeck avatar Feb 08 '22 21:02 TylerLubeck

You beat me to it - that's what I get for sending partial thoughts instead of collecting them all at once.

Sounds like the fix is "wait for inthe.am to upgrade to the yet-to-be-released taskserver"? Or can I build the unreleased taskwarrior and bingo-bango problem solved?

TylerLubeck avatar Feb 08 '22 21:02 TylerLubeck

I am using unreleased Taskwarrior. Before the commit was added, I was staying at 2.5.3. I have some GitHub projects that I'm holding at 2.5.3 until fix is released. Unfortunately, taskwarrior-tui does not support 2.5.3, I think especially newer Taskwarrior has convenient export methods.

Related: https://github.com/kdheepak/taskwarrior-tui/issues/358

The strategy at the commit at Taskwarrior was introduced because providers of Taskserver may not update quickly to a release of newer Taskserver.

Note:

Indeed, this might be a good course of action, given that upgrading clients is generally easier than upgrading the server ๐Ÿ™‚ -- https://github.com/GothenburgBitFactory/taskwarrior/issues/2689#issuecomment-1013947635

Here's a comment suggesting to release a new Taskwarrior:

  • https://github.com/GothenburgBitFactory/taskwarrior/pull/2717#issuecomment-1028426848

bradyt avatar Feb 08 '22 21:02 bradyt

@bradyt thanks for digging into this. I made this change:

https://github.com/kdheepak/taskwarrior-tui/blob/1ee07540d8bc58d66165f06f06eb3df4cee815c9/src/app.rs#L1615

Shouldn't that resolve this issue? Or am I missing something?

@TylerLubeck can you try the latest release of taskwarrior-tui? You can download precompiled releases from here: https://github.com/kdheepak/taskwarrior-tui/releases/tag/v0.19.1

kdheepak avatar Feb 08 '22 21:02 kdheepak

@kdheepak this isn't strings versus arrays, like "a,b" vs ["a","b"], this is data garbled by stable Taskserver, and not caught and handled by stable Taskwarrior, data like "[\"a\",\"b\"]".

The json.depends.array=on is for Taskwarrior's similar usage of JSON in export, for 2.5.3 to prefer exporting depends as ["a","b"] instead of "a,b". But the bad data from Taskserver, the export can't fix that.

bradyt avatar Feb 08 '22 21:02 bradyt

I think I meant to ask you if the error could highlight which particular task was the first to throw an error, but I have some vague memory that you pointed out where that would be difficult with current implementation.

If I understand correctly, you can't throw the error to be caught in the UI, while you're applying methods to each task in turn.

bradyt avatar Feb 08 '22 22:02 bradyt

I'm on 0.19.1 by the way.

bradyt avatar Feb 08 '22 22:02 bradyt

this is data garbled by stable Taskserver

Ah, I see. Thanks for clarifying that.

For error handling, the parsing happens through serde: https://github.com/kdheepak/task-hookrs/blob/6f04ee63c0d58bb0fe9bd6563457df52b5b5f84d/src/task.rs#L246-L262

And when it fails to parse, taskwarrior-tui just prints out a generic error message:

https://github.com/kdheepak/taskwarrior-tui/blob/1ee07540d8bc58d66165f06f06eb3df4cee815c9/src/app.rs#L1650-L1662

data.as_bytes() is the json data from task export and import(data.as_bytes()) returns a Vec<Task>. If import(data.as_bytes()) fails to convert to a valid Vec<Task>, then the else block is executed.

I'd have to dig into serde to see if we can provide useful information back about where it failed to parse. The alternative is that when it fails, in taskwarrior-tui I could try to special case this particular issue.

If we converted all instances of data that was of the format "[\"a\",\"b\"]" to something that is of the format ["a","b"], the problem would go away. Is my understanding correct?

kdheepak avatar Feb 08 '22 22:02 kdheepak

If we converted all instances of data that was of the format "[\"a\",\"b\"]" to something that is of the format ["a","b"], the problem would go away. Is my understanding correct?

๐Ÿคฏ

That's a very interesting idea. Seems worth a try. I'm not too sure it will cover 100% of the manifestations of the depends bug, like I wonder if it's possible to end up with "[\"[\\\"a\\\"]\"]" or something.

bradyt avatar Feb 08 '22 22:02 bradyt

I made a fix in the fix-task-2.5.x-taskserver-issue branch and it appears to work for me now, i.e. with the following task export

$ task rc.verbose:override=false export next                                                                                                                                                                                                               
[
{"id":2,"description":"anon description","entry":"20220206T015846Z","estimate":"30","intheamtrelloboardid":"anontrelloboardid","intheamtrelloid":"anontrelloid","modified":"20220206T040521Z","project":"packing","status":"pending","uuid":"ff2eea0b-6d61-4714-8293-476f661c26f8","tags":["nomad"],"depends":["[\"b3f9e124-64c2-4dc0-8351-9b2200e2863e\"]"],"urgency":2.8},
{"id":1,"description":"Filter tasks using '\/'","entry":"20201021T065245Z","estimate":"30","modified":"20201021T065245Z","status":"pending","uuid":"b3f9e124-64c2-4dc0-8351-9b2200e2863e","urgency":1.8}
]

taskwarrior-tui works for me:

โ•ญTask|Projects|Calendarโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚  ID Age Deps Project Tag   Description                                                                                 Urg โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚โ€ข  1 3d  2    packing nomad anon description                                                                            2.80โ”‚
โ”‚   2 1y                     Filter tasks using '/'                                                                      1.80โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ•ญTask 1โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                                                                            โ”‚
โ”‚Name                  Value                                                                                                 โ”‚
โ”‚--------------------- --------------------------------------------------                                                    โ”‚
โ”‚ID                    1                                                                                                     โ”‚
โ”‚Description           anon description                                                                                      โ”‚
โ”‚Status                Pending                                                                                               โ”‚
โ”‚Project               packing                                                                                               โ”‚
โ”‚Entered               2022-02-05 18:58:46 (3d)                                                                              โ”‚
โ”‚Last modified         2022-02-05 21:05:21 (3d)                                                                              โ”‚
โ”‚Tags                  nomad                                                                                                 โ”‚
โ”‚Virtual tags          ORPHAN PENDING PROJECT READY TAGGED UDA UNBLOCKED                                                     โ”‚
โ”‚UUID                  ff2eea0b-6d61-4714-8293-476f661c26f8                                                                  โ”‚
โ”‚Urgency                2.8                                                                                                  โ”‚
โ”‚Est                   30                                                                                                    โ”‚
โ”‚[intheamtrelloboardid anontrelloboardid]                                                                                    โ”‚
โ”‚[intheamtrelloid      anontrelloid]                                                                                         โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚----------------- ------ - ---- - ------                                                                                    โ”‚
โ”‚    project            1 *    1 =      1                                                                                    โ”‚
โ”‚    UDA priority.      1 *  1.8 =    1.8                                                                                    โ”‚
โ”‚                                  ------                                                                                    โ”‚
โ”‚                                     2.8                                                                                    โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ”‚                                                                                                                            โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ•ญFilter Tasksโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚(status:pending or status:waiting)                                                                                          โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

@bradyt, @TylerLubeck and @Sergih28, would you be able to test it out? I don't use intheam or taskserver, so I'm not sure what possible invalid dependency formats are possible.

Currently, I'm assuming that the depends field in the json is an array with one element, and that one element is a string that can be parsed as an array, and I replace value of the depends field with the inner array of the value, i.e.:

{
// ...
depends: ["[\"b3f9e124-64c2-4dc0-8351-9b2200e2863e\"]"],
// ...
}

becomes:

{
// ...
depends: ["b3f9e124-64c2-4dc0-8351-9b2200e2863e"],
// ...
}

kdheepak avatar Feb 09 '22 06:02 kdheepak

Actually, I'm not sure this fix works. I was just messing around with the export and I'm able to export data that looks like this:

[
  {
    "id": 1,
    "description": "anon description",
    "entry": "20220206T015846Z",
    "estimate": "30",
    "intheamtrelloboardid": "anontrelloboardid",
    "intheamtrelloid": "anontrelloid",
    "modified": "20220206T040521Z",
    "project": "packing",
    "status": "pending",
    "uuid": "ff2eea0b-6d61-4714-8293-476f661c26f8",
    "tags": ["nomad"],
    "depends": [
      " \"58402953-65cb-4420-aad9-2ea1ff1ff281\"]",
      "[\"b3f9e124-64c2-4dc0-8351-9b2200e2863e\"",
      "[\"b3f9e124-64c2-4dc0-8351-9b2200e2863e\", \"58402953-65cb-4420-aad9-2ea1ff1ff281\"]"
    ],
    "urgency": 2.8
  },
  {
    "id": 2,
    "description": "Filter tasks using '/'",
    "entry": "20201021T065245Z",
    "estimate": "30",
    "modified": "20201021T065245Z",
    "status": "pending",
    "uuid": "b3f9e124-64c2-4dc0-8351-9b2200e2863e",
    "urgency": 1.8
  },
  {
    "id": 3,
    "description": "tfsadfsad",
    "entry": "20220209T055831Z",
    "estimate": "30",
    "modified": "20220209T055831Z",
    "status": "pending",
    "uuid": "58402953-65cb-4420-aad9-2ea1ff1ff281",
    "urgency": 1.8
  }
]

So even if taskwarrior-tui is able to initially read the data, running any task command that modifies the invalid depends field creates garbage data.

kdheepak avatar Feb 09 '22 06:02 kdheepak