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
Constantin Graf
5d744d70c4
Migrate permission away from Jetstream; Moved update user to REST API
2026-06-18 13:27:43 +02:00
Gregor Vostrak
12d58ee42c
rephrase logged out user invite accept message to clarify that the
...
invite was accepted
2026-06-18 13:27:43 +02:00
Gregor Vostrak
f9be92894e
add banners for invitation accept
2026-06-18 13:27:43 +02:00
Constantin Graf
a30d192ea2
Updated invitation flow, Moved jetstream function to REST endpoints; Lower case email
2026-06-18 13:27:43 +02:00
Gregor Vostrak
7ce3fa2740
change TimeEntryFilter start filter to be inclusive
2026-05-29 17:14:52 +02:00
Gregor Vostrak
0e15d9d9c2
add project visibility ui
2026-05-26 11:15:15 +02:00
Gregor Vostrak
793bd11dcf
remove member, invitation, and owner email disclosure from Teams/Show inertia props
...
The Teams/Show Inertia page serialized members, pending invitations, and the
owner email into props using only a belongsToTeam authorization gate, while
the corresponding API endpoints correctly enforced members:view and
invitations:view. The serialized data was unused by the live UI (the
TeamMemberManager partial that referenced it was orphaned), so dropping the
fields removes the disclosure surface without functional impact. The owner
card retains name and photo.
2026-05-18 19:04:57 +02:00