Commit graph

189 commits

Author SHA1 Message Date
Antonis
c7220c3060
Fix #291 (#444)
* Fix password validation on container restart

Only validate password for new users, not when updating existing users.
This prevents container crashes when TUDUDI_USER_PASSWORD is set but
doesn't meet current validation requirements for existing users.

* Fix entrypoint crash when app user doesn't exist

Check if app user exists before getting UID/GID to prevent
'id: unknown user app' error on restart. Fall back to build-time
defaults (APP_UID/APP_GID) if user is missing.

---------

Co-authored-by: antanst <>
2025-10-23 21:41:21 +03:00
Chris
02b493d61f
Universal search (#412)
* Global search scaffold

* Add search preview text

* Add generic fallback for preview text in search

* fixup! Add generic fallback for preview text in search

* Add more tweaks

* fixup! Add more tweaks

* Fix an issue with criteria

* fixup! Fix an issue with criteria

* fixup! fixup! Fix an issue with criteria

* fixup! fixup! fixup! Fix an issue with criteria

* Fix an issue with priority filter

* fixup! Fix an issue with priority filter

* Add sortable pins

* fixup! Add sortable pins

* Make options collapsed by default

* Tweak UI

* Add tests

* Add translations

* Add more translations

* fixup! Add more translations

* Add minor tweaks
2025-10-22 22:00:45 +03:00
Chris Veleris
180bdaef35 Fix an issue with task from shared project 2025-10-22 20:18:49 +03:00
Chris Veleris
08f56ceb44 fixup! Add tests 2025-10-22 16:28:13 +03:00
Chris Veleris
02633da704 Add tests 2025-10-22 15:56:48 +03:00
Chris Veleris
bbc4615ee3 Fix an issue with sharing permissions 2025-10-22 13:29:37 +03:00
Chris Veleris
dde704d764 Fix an issue with tasks permissions on shared project 2025-10-22 12:10:50 +03:00
antanst
4774331d07 Add migration to backfill roles for existing users
This migration backfills role entries for users that existed before the roles system was introduced.

- If no admins exist: Missing users become admins to prevent lockout
- If admins exist: Missing users become regular users (safe default)
- Idempotent: Safe to run multiple times
2025-10-20 14:43:42 +03:00
Chris Veleris
848296421e Add UIDs to database items missing 2025-10-18 23:05:34 +03:00
Chris Veleris
589aafa643 Add UIDs to database items missing 2025-10-18 23:04:27 +03:00
Chris Veleris
7178f3dccb Add user edit 2025-10-15 16:48:03 +03:00
Chris Veleris
2cd7d9abe4 Add translations 2025-10-15 13:05:57 +03:00
Chris Veleris
d60ed23f18 Improve migrations safe functions usage 2025-10-14 12:58:30 +03:00
Chris Veleris
4aa9220879 Fix showing edit/delete buttons for owners 2025-10-13 11:09:19 +03:00
Chris Veleris
5160ab6955 Tweak UI for feature 2025-10-13 11:09:19 +03:00
Chris
e134ad96dc
Merge branch 'main' into pro/user-perms 2025-10-11 14:46:14 +03:00
Chris Veleris
d03cb0c4ae Add user name and surname 2025-10-11 13:26:56 +03:00
Chris Veleris
db98b7be1b fixup! Fix an issue with user data persistance 2025-10-11 13:26:56 +03:00
Chris Veleris
167868d297 Fix an issue with user data persistance 2025-10-11 13:26:56 +03:00
Chris
a81ca2f2b6
Fix upcoming completed issue (#404)
* Fix upcoming completed issue

* fixup! Fix upcoming completed issue

* fixup! fixup! Fix upcoming completed issue

* Fix completed icon plscement

* fixup! Fix completed icon plscement

* Add upcoming section tests
2025-10-11 00:08:13 +03:00
antanst
5ae05a9e68 Linting. 2025-10-09 11:39:30 +03:00
antanst
f4214c40da Security fixes: Add auth to upload, fix SQL injection, improve error logging
Critical security improvements:
- Add requireAuth middleware to /api/upload/project-image endpoint (prevents unauthenticated file uploads)
- Fix SQL injection vulnerability in tasks.js DELETE route by whitelisting table names
- Add missing resource existence check in shares.js POST endpoint (prevents permissions on non-existent resources)

Code quality improvements:
- Replace all console.error with logError across all route files for consistent logging
- Import logError service in all route modules

All tests passing (597 passed).
2025-10-09 11:38:26 +03:00
antanst
1fa221db54 Merge chrisvel/main into pro/user-perms
- Keep :uid endpoints throughout (not :id)
- Keep hasAccess middleware for permission checks
- Keep logError instead of console.error
- Add Note orphaning in project deletion
- Merge area attributes (include uid)
- Merge project store update on delete
- Use uid in test data-testids
2025-10-09 11:15:02 +03:00
Chris
119b04acff
Fix inbox items refresh (#398)
* Fix inbox items refresh

* fixup! Fix inbox items refresh
2025-10-07 17:10:33 +03:00
Chris
26d4fba70d
Fix project notes deletion (#396)
* Fix note deletion and modal

* Fix orphan notes issue

* Fix project areas filtering

* fixup! Fix project areas filtering
2025-10-07 06:16:42 +03:00
antanst
960dbd2f0e Permission/sharing fixes for owners. 2025-10-06 11:31:49 +03:00
antanst
fd808cafce Remove redundant session checks 2025-10-06 11:11:04 +03:00
antanst
0760c64656 Fix shares route permission check 2025-10-06 11:10:55 +03:00
antanst
11f95bd1c3 Allow sharing only for owners & admins. 2025-10-06 10:57:56 +03:00
Antonis
4fa2aa91bf
Fix E2E test breakage (#380)
* Add logging placeholder functions, fix notes.js uids

* Add UIDs to inbox items. Includes migration.

* Add UID to users.

* Add project UIDs usage.

* Add script that runs specific E2E test(s)

* Only run Chromium E2E tests by default.

* Fix breaking E2E tests

* fixup! Fix breaking E2E tests

---------

Co-authored-by: antanst <>
Co-authored-by: Chris Veleris <chrisveleris@gmail.com>
2025-10-05 16:04:46 +03:00
antanst
fde4b1cdb1 Fix fe user uid 2025-10-05 10:56:05 +03:00
Chris Veleris
e2fa78b830 Fix an issue with areas filter and uid 2025-10-04 22:09:28 +03:00
antanst
a9e32e0ac3 Fix sharing in FE. 2025-10-03 17:42:11 +03:00
antanst
2261d8d036 Fix tasks permissions checking. 2025-10-03 17:21:59 +03:00
antanst
5894c27f7b Allow admin to see all projects 2025-10-03 14:43:41 +03:00
antanst
3cbe594588 merge fixes. 2025-10-03 14:16:01 +03:00
antanst
1a500663ed Merge branch 'cleanups' into pro/user-perms 2025-10-02 15:42:42 +03:00
antanst
33eb2ce7a9 Fix breaking E2E tests 2025-10-02 12:20:45 +03:00
antanst
4522ed7716 Add project UIDs usage. 2025-10-02 12:20:45 +03:00
antanst
228f16dcb8 Add UID to users. 2025-10-02 12:20:45 +03:00
Chris Veleris
823f6677b4 Fix safeRemoveColumn to properly handle SQLite table recreation 2025-10-02 00:21:26 +03:00
Chris Veleris
2855488f8b Fix FK issue in migration 2025-10-01 23:19:47 +03:00
Chris Veleris
369ed652ee Fix an issue with character escaping 2025-10-01 18:02:47 +03:00
Chris Veleris
4adedf0ff8 Tweak the safeRemoveColumn function 2025-10-01 13:09:38 +03:00
Chris
9d2b1895af
Feat/add project states (#354)
* Scaffold project states

* fixup! Scaffold project states

* Fix blinking project modal

* fixup! Fix blinking project modal

* fixup! fixup! Fix blinking project modal

* Fix an issue with the tag input autosuggest

* fixup! Fix an issue with the tag input autosuggest

* fixup! fixup! Fix an issue with the tag input autosuggest

* Add state to project details

* fixup! Add state to project details

* Add state indicator on project cards

* fixup! Add state indicator on project cards
2025-09-29 16:04:25 +03:00
Antonis
c9f7fbb522
Fix notes.js & areas.js UID usage and remove IDs. (#355)
* Add logging placeholder functions, fix notes.js uids

* Fix areas.js uids and remove ids

* Add UIDs to inbox items. Includes migration.

* id -> uid for task-events.js

---------

Co-authored-by: antanst <>
2025-09-29 16:03:46 +03:00
antanst
ef37ead4b2 Change tags to use uid instead of id. 2025-09-23 10:09:44 +03:00
antanst
3ae4b62071 Small cleanups 2025-09-23 10:09:44 +03:00
Antonis
70956f9ecd
Change tags to use uids instead of ids. (#351)
* Small cleanups

* Change tags to use uid instead of id.

---------

Co-authored-by: antanst <>
2025-09-22 17:10:29 +03:00
antanst
fec2a115b8 Linting. 2025-09-22 15:20:46 +03:00