Licensed features can now be granted or revoked per user instead of applying instance-wide. Resolution is layered: the instance license must include the feature, then a per-user override, an admin-set instance default and the built-in code default are consulted in that order. Time tracking is the first per-user toggleable feature; admin_panel and audit_logs stay instance-wide. New features opt in via the perUserToggleable map in pkg/license. - store per-user overrides in a json column on users, instance defaults in the new pro_feature_instance_defaults table - enforce the toggle in the v2 time-entries route gate and in the TimeEntry permission chokepoint for non-route callers - new admin v2 endpoints to manage instance defaults and per-user overrides - expose effective_pro_features on /api/v1/user; the frontend prefers it over /info's instance-wide list once the user is loaded - admin UI: per-user toggles on the user detail modal, instance defaults on the admin overview https://claude.ai/code/session_01AVt4FHWrUUhv5p6yn99pdp |
||
|---|---|---|
| .. | ||
| docs | ||
| originalMedia | ||
| public | ||
| scripts | ||
| src | ||
| tests | ||
| .editorconfig | ||
| .env.local.example | ||
| .gitignore | ||
| .npmrc | ||
| .nvmrc | ||
| .stylelintrc.json | ||
| CHANGELOG.md | ||
| LICENSE | ||
| README.md | ||
| cliff.toml | ||
| embed.go | ||
| env.config.d.ts | ||
| env.d.ts | ||
| eslint.config.js | ||
| histoire.config.ts | ||
| index.html | ||
| netlify.toml | ||
| package.json | ||
| playwright.config.ts | ||
| pnpm-lock.yaml | ||
| tsconfig.app.json | ||
| tsconfig.config.json | ||
| tsconfig.json | ||
| tsconfig.vitest.json | ||
| vite.config.ts | ||
README.md
Web frontend for Vikunja
The todo app to organize your life.
This is the web frontend for Vikunja, written in Vue.js.
Take a look at our roadmap (hosted on Vikunja!) for a list of things we're currently working on!
For general information about the project, refer to the top-level readme of this repo.
Project setup
pnpm install
Development
Define backend server
You can develop the web front end against any accessible backend, including the demo at https://try.vikunja.io
In order to do so, you need to set the DEV_PROXY env variable. The recommended way to do so is to:
- Copy
.env.local.exampleas.env.local - Uncomment the
DEV_PROXYline - Set the backend url you want to use
In the end, it should look like DEV_PROXY=https://try.vikunja.io if you work against the online demo backend.
Start dev server (compiles and hot-reloads)
pnpm run dev
Compiles and minifies for production
pnpm run build
Lints and fixes files
pnpm run lint
License
This project is licensed under the AGPL-3.0-or-later license. See the LICENSE file for details.