Several fixes uncovered by running the e2e suite end-to-end against a
real Vikunja:
- view_kind / bucket_configuration_mode are serialized as strings via
custom MarshalJSON on the parent enums, not ints. Update the client
types and ViewKind* constants accordingly.
- POST /tasks/{id} doesn't move tasks between buckets (the relation
lives in a separate task_buckets table). Add MoveTaskToBucket using
the dedicated POST /projects/{p}/views/{v}/buckets/{b}/tasks
endpoint and call it from create (when status != todo), update
(status transitions), and claim. Also add the corresponding action
to the bot's permission grant via PermissionsForBot.
- Bot creation lives at PUT /user/bots, not /bots — the route is
scoped under the /user subgroup. Update both Create and List.
- Task.BucketID is 0 on read (xorm:"-"); the actual bucket surfaces
via ?expand=buckets as a Buckets slice. GetTask now requests the
expand and CurrentBucketID resolves the per-view entry.
- Chain.Set falls through to the next backend on failure (e.g. keyring
on a host with no dbus). Previously a single backend error aborted
the chain, breaking init in CI/headless environments.
- E2e suite: identifier now derived from the high-entropy tail of the
base-36 timestamp (the head was the runner's hostname prefix and
collided across runs); commit.gpgsign disabled in workspace setup.
Local e2e run against the rebuilt API passes all 7 tests.
Vikunja
The Todo-app to organize your life.
If Vikunja is useful to you, please consider buying me a coffee, sponsoring me on GitHub or buying a sticker pack. I'm also offering a hosted version of Vikunja if you want a hassle-free solution for yourself or your team.
Table of contents
Security Reports
If you find any security-related issues you don't want to disclose publicly, please use the contact information on our website.
Features
See the features page on our website for a more exhaustive list or try it on try.vikunja.io!
Docs
All docs can be found on the Vikunja home page.
Roadmap
See the roadmap (hosted on Vikunja!) for more!
Contributing
Please check out the contribution guidelines on the website.
License
Most of this repository is licensed under AGPL‑3.0‑or‑later.
The contents of desktop/ are licensed under
GPL‑3.0‑or‑later.
Unsplash Images
Background images from Unsplash are distributed under the Unsplash License. The license requires giving credit to the photographer and Unsplash. See Unsplash’s terms for more information.