11 Commits
Author SHA1 Message Date
alejo a29ba6e4d2 Status system reworked 2026-10-29 01:02:06 -03:00
alejo 33567db5a3 Better account-based wait status 2026-10-28 13:11:54 -03:00
alejo 10badb282c C and Python API + Smarter account-based wait times 2026-10-28 01:02:10 -03:00
alejo 35c568333d Exit prompt
Cause: any answer other than y was treated as no, so your t discarded the changes.
Fix: the prompt now only accepts y (save), n (discard) or c (cancel the exit). Anything else asks again, so a typo can't lose data. In my test, t, an empty line, then y saved correctly.
Also: I changed the db restore confirmation to y/n only, with no cancel option. Closing stdin still saves automatically.

Wait without a time

tsk restat <task> wait: works with no time while the task's account is still waiting, and the task just follows that wait. tsk add <task> <acc> wait works the same way.
Time required: otherwise it asks for one, with a message saying why. That covers an account that isn't waiting, an account whose wait is already over (Limit reset), and a task with no account.
acc wait: it still requires a time. A plain acc wait would have nothing to do, since the account already has a wait.

Account panel: there's a new RESET column showing when the account's wait ends. It shows 16:30 for today, tomorrow 06:40 for the next day, or a full date like 2020-01-01 10:00 (which is how an old, already-reset wait appears). Accounts with no wait show -. Since the time is in its own column now, an account with a wait but no task showing it lists just (wait) or (limit reset) in the TASKS column.
2026-10-24 09:18:43 -03:00
alejo 0af468f47c Limits are now account-tied rather than task-tied 2026-10-24 09:13:03 -03:00
alejo 315a2102a7 Display free account's tasks 2026-10-19 18:16:21 -03:00
alejo 6cb5a8611f Task sorting
- Time: Wait tasks sort by when the wait ends, earliest first. Limit reset tasks sort by when their wait ended, so the one that has been ready longest comes first. The time is kept when a wait expires, which is what makes the second sort possible.
- Order: I put time before account for these two statuses, so the full order is status, then time, then account, then name. Other statuses still go status, account, name. If you'd rather have account before time, swap the two checks in taskLess in Display.cpp.
- Manual limit reset: a task you set to limit-reset by hand has no wait time, so it sorts first among limit resets.

Account status: an account takes the most taken level among its tasks.
- Busy: it has a Testing, Limit reset or Wait task. The TASKS column lists those tasks.
- Taken: it has a Prompt task and nothing Busy. The TASKS column lists the Prompt tasks.
- Free: it only has Done, Frozen or Uploading tasks, or no tasks. The TASKS column shows

 Changes to be committed:
	modified:   README.md
	modified:   include/Display.h
	modified:   include/Status.h
	modified:   src/Completer.cpp
	modified:   src/Display.cpp
	modified:   src/Repl.cpp
	modified:   src/Status.cpp
2026-10-18 21:50:24 -03:00
alejo 04fa2b1b20 On branch main
Your branch is up to date with 'origin/main'.

Accounts:
the account panel now sorts from most free to least free. Fewer Busy tasks come first, and ties go alphabetically.

Tasks:
they now sort by status, then account A–Z, then wait time, then task name.

Status order:
Limit reset, Testing, Prompt, Wait, Uploading, Frozen, Done.

Account order: it ignores case. Tasks with no account come last in their status group.
Wait time: it only matters among tasks that have the same status and the same account.

Changes to be committed:
	modified:   README.md
	modified:   include/Status.h
	modified:   include/StringUtil.h
	modified:   src/Display.cpp
	modified:   src/Status.cpp
	modified:   src/StringUtil.cpp
2026-10-17 11:59:35 -03:00
alejo 4c69c164e4 Default to tasks.db in home directory 2026-10-17 03:40:01 -03:00
alejo 0b8a7b3cdc Add source code. 2026-10-17 03:29:11 -03:00
alejo dab19ace02 first commit 2026-10-17 03:28:15 -03:00