Gregor Vostrak
194fa6cf49
Remove task from time entry when project changes without a new task
...
PUT /time-entries/{id} accepted a new project_id while keeping a task from
the previous project, leaving the entry with a task that belongs to a
different project. The bulk endpoint already handled a project switch but
kept the task when the project was removed.
Both endpoints now remove the task whenever project_id is changed without
task_id and the current task does not belong to the new project.
2026-10-02 18:17:05 +02:00
Constantin Graf
a9d016d773
Added deletion of refresh tokens in DeletionService
2026-09-24 13:31:26 +02:00
Constantin Graf
e801c4311c
Add new extension auditing
2026-09-24 11:31:38 +02:00
Constantin Graf
2dadf1ef02
Updated Laravel to v13
2026-09-24 10:45:18 +02:00
Constantin Graf
12cc3f27f8
Add check for premium to telemetry and update lookup
2026-09-24 10:45:18 +02:00
Constantin Graf
08f9edbc96
Add additional tests for filament
2026-09-24 10:45:18 +02:00
Constantin Graf
37579b1e5c
Updated compose dependencies
2026-09-24 10:45:18 +02:00
Constantin Graf
01b60c0f6a
Add validation for task name length
2026-09-22 12:01:48 +02:00
Constantin Graf
c89fa87b0f
Fix clockfiy importer, allow project imports without Billability
2026-09-22 12:01:48 +02:00
Gregor Vostrak
95ddbf9ead
fix placeholder users being resolved by authentication flows
2026-09-16 15:25:08 +02:00
Constantin Graf
70646a0dd4
Add additional validation for import, Enhanced ZIP extraction in importer
2026-09-16 15:02:54 +02:00
Constantin Graf
637475e669
Add invite-only registration mode
2026-08-31 13:36:25 +02:00
Constantin Graf
3ec2abb309
Add invite-only registration mode
...
Support configurable on, invite-only, and off registration modes, including case-insensitive invitation checks and test coverage.
2026-08-31 13:36:25 +02:00
Constantin Graf
602a8daa1f
Suppress expected OAuth access denial reports
2026-08-31 12:42:00 +02:00
Constantin Graf
38b448a729
Suppress reporting for expected API exceptions
2026-08-31 12:42:00 +02:00
Constantin Graf
593372bae5
Add still-running email preference
2026-08-31 12:26:02 +02:00
Andrew Herron
453d5ed066
Set content-disposition 'attachment' for both local and S3 downloads. Added a bunch of tests. Fixes #1148 .
2026-08-28 17:30:27 +02:00
Gregor Vostrak
9d9731c7ce
add formatting support for months grouping
2026-08-20 17:11:35 +02:00
Andrew Herron
dfe3206614
Add "Week" grouping option to reporting
2026-08-20 17:11:35 +02:00
Andrew Herron
97fd882878
Format date group labels in all aggregate exports
2026-08-20 17:11:35 +02:00
Constantin Graf
f6d886b218
Refactored TrustHostsTest; Added return types to TrustHosts
2026-08-06 17:01:46 +02:00
Gregor Vostrak
c0c8fee6be
default time entry type filter to work for legacy reports
2026-07-28 16:52:36 +02:00
Gregor Vostrak
cbcd1e51f6
add break time entries and simplified time tracker ui
2026-07-28 16:52:36 +02:00
Constantin Graf
114a32536d
Fixed update of member_id in time_entries.update and time_entries.updateMultiple
...
Removed usage of legacy user_id in TimeEntryController
2026-07-23 12:02:46 +02:00
Gregor Vostrak
4fb18f343f
allow missing client columns in clockify importer, fixes #1149
2026-07-09 16:16:25 +02:00
Gregor Vostrak
c90c1ed8fa
add stable secondary sorting based on id to the tests to avoid flakyness
2026-07-09 13:01:23 +02:00
Gregor Vostrak
53ecc58509
add validationa for project names in toggl importer
2026-07-09 13:01:23 +02:00
Gregor Vostrak
a97c02542b
add unique id tiebreaker to paginated index endpoints to make pagination
...
stable (#1138 )
2026-07-09 13:01:23 +02:00
Gregor Vostrak
981bcbe091
add tests for tag match type (backend + e2e)
2026-06-26 14:53:37 +02:00
Gregor Vostrak
50f57f6997
add support for activity columns in clockify exports
2026-06-25 12:10:44 +02:00
Gregor Vostrak
ab9f6e6afb
adapt clockify importer to support task -> tasks column rename
2026-06-25 00:20:29 +02:00
Gregor Vostrak
2a40bb7edb
add support for archived projects in the clockify importer
2026-06-25 00:08:42 +02:00
Constantin Graf
37a8f43b23
Allow Clockify import without Billable column
2026-06-24 13:44:48 +02:00
Constantin Graf
6a197f7f34
Add password check to users.destroy and organizations.destroy
2026-06-18 13:27:43 +02:00
Constantin Graf
24c94af952
Add option to enable email verification locally for testing
2026-06-18 13:27:43 +02:00
Gregor Vostrak
6b01034bdd
add back destroy other browser sessions endpoint (jetstream migration)
2026-06-18 13:27:43 +02:00
Gregor Vostrak
24875f9424
add currency to organization update endpoint
2026-06-18 13:27:43 +02:00
Gregor Vostrak
4975cf1dab
replace hardcoded inertia props with organization delete/update perms
2026-06-18 13:27:43 +02:00
Gregor Vostrak
b3fb04c4be
remove unused inertia organization page props
2026-06-18 13:27:43 +02:00
Gregor Vostrak
0cc8d762a5
fix inertia backend role data structure after jetstream migration
2026-06-18 13:27:43 +02:00
Constantin Graf
24775d2c47
Added tests
2026-06-18 13:27:43 +02:00
Gregor Vostrak
c5c129b239
add switch current organization endpoint
2026-06-18 13:27:43 +02:00
Constantin Graf
89a9341d91
Removed Laravel Jetstream
2026-06-18 13:27:43 +02:00
Constantin Graf
734aab6353
Replaces all Jetstream model trait functions and relations
2026-06-18 13:27:43 +02:00
Constantin Graf
5eb1a6a006
Add reset pending email endpoint to user controller
2026-06-18 13:27:43 +02:00
Gregor Vostrak
486b5d2152
add user endpoint tests for idempotence email update, unauthenticated
...
update and invalid email
2026-06-18 13:27:43 +02:00
Gregor Vostrak
cb8047028c
add 1MB photo upload limit
2026-06-18 13:27:43 +02:00
Gregor Vostrak
e29be581fa
add photo delete logic to user update endpoint
2026-06-18 13:27:43 +02:00
Constantin Graf
02da133fb3
Updated composer dependencies
2026-06-18 13:27:43 +02:00
Constantin Graf
d00fe2baff
Add more tests
2026-06-18 13:27:43 +02:00