Commit Graph

70 Commits

Author SHA1 Message Date
af9facce7e feat(rates): record hourly rate history 2026-05-26 12:15:27 +03:30
e42e0612aa feat(media): add client and project thumbnails 2026-05-26 12:15:09 +03:30
f99e883f12 feat(reports): sort exported breakdown tables
Some checks failed
Backend CI/CD / test (push) Has been cancelled
Backend CI/CD / deploy (push) Has been cancelled
2026-05-25 00:10:28 +03:30
d18fdb1454 refactor(reports): replace escaped persian export labels
Some checks failed
Backend CI/CD / test (push) Has been cancelled
Backend CI/CD / deploy (push) Has been cancelled
2026-05-24 11:16:59 +03:30
5500badc6a refactor(users): replace escaped persian auth messages 2026-05-24 11:01:50 +03:30
2a0fa22be6 feat(projects): support implicit-access roles in rates modal 2026-05-24 10:18:31 +03:30
22e08a099c fix(reports): refine financial export summaries
Some checks failed
Backend CI/CD / test (push) Has been cancelled
Backend CI/CD / deploy (push) Has been cancelled
2026-05-23 20:13:35 +03:30
59cf62bc73 feat(reports): load user summaries on demand 2026-05-23 19:48:32 +03:30
0d6c6a4f09 feat(workspaces): add current user rates endpoint 2026-05-23 19:43:10 +03:30
181a135df9 feat(projects): add project-specific member rates 2026-05-23 18:29:00 +03:30
b79fd73403 fix(oauth): add callback error page for google oauth flow
Some checks failed
Backend CI/CD / test (push) Has been cancelled
Backend CI/CD / deploy (push) Has been cancelled
2026-05-22 01:01:21 +03:30
4d05d4d590 fix(users): trace google oauth redirect mismatches
Some checks failed
Backend CI/CD / test (push) Has been cancelled
Backend CI/CD / deploy (push) Has been cancelled
2026-05-21 19:12:45 +03:30
8d2f876c82 feat(reports): add uncategorized dual-share exports 2026-05-21 19:10:33 +03:30
e234eac26d fix(time-entries): use server time for running timers 2026-05-21 13:01:51 +03:30
0fea265cfb test(users): cover google signup otp gating
Some checks failed
Backend CI/CD / test (push) Has been cancelled
Backend CI/CD / deploy (push) Has been cancelled
2026-05-14 23:24:09 +03:30
4a6f6a08fb fix(users): require otp verification before google signup 2026-05-14 23:24:09 +03:30
837f5bb49e feat(admin): manage user social account links 2026-05-14 23:00:11 +03:30
aa0b0c8686 fix(admin): add soft delete filter to backend admins
Some checks failed
Backend CI/CD / test (push) Has been cancelled
Backend CI/CD / deploy (push) Has been cancelled
2026-05-14 22:51:57 +03:30
3019f59d3a fix(users): sync google profile data to user records
Some checks failed
Backend CI/CD / test (push) Has been cancelled
Backend CI/CD / deploy (push) Has been cancelled
2026-05-14 21:39:47 +03:30
388d4e0e7f test(users): cover google oauth identity safety
Some checks failed
Backend CI/CD / test (push) Has been cancelled
Backend CI/CD / deploy (push) Has been cancelled
2026-05-14 21:18:11 +03:30
d75c19bb6b feat(users): add google social account audit command 2026-05-14 21:17:47 +03:30
cacf6114d1 fix(users): harden google oauth account resolution 2026-05-14 21:17:37 +03:30
09d2015351 feat(users): normalize email identity storage 2026-05-14 21:17:25 +03:30
d4a52d6f3b feat(reports): refine exports and restore project access 2026-05-14 17:06:35 +03:30
77c07adec8 feat(reports): support multi-user chart series 2026-05-13 09:59:23 +03:30
f9c4c06531 feat(users): return otp expiry metadata 2026-05-13 09:58:58 +03:30
d1c4889d22 feat(users): apply django password validators in auth flows 2026-05-03 20:02:14 +03:30
8ff1e4fa61 fix(users): validate password reset mobile input 2026-05-03 17:17:18 +03:30
df9a183823 test(reports): freeze date-sensitive report view cases 2026-05-01 01:54:13 +03:30
fb15a16204 feat(users): add google oauth login flow 2026-05-01 01:54:02 +03:30
99eb4c2594 perf(db): add targeted composite indexes 2026-04-30 16:13:35 +03:30
054bb5a582 feat(cache): add targeted server-side response caching 2026-04-30 16:13:12 +03:30
08e1793765 feat(throttling): add auth throttling and structured cooldown errors 2026-04-30 15:29:44 +03:30
3152284cf3 test(backend): add coverage for services tasks and apis 2026-04-30 12:44:24 +03:30
8774a4d4dc test(backend): convert existing app suites to unittest 2026-04-30 12:41:54 +03:30
204225dd16 test(backend): switch to django test runner 2026-04-30 12:41:38 +03:30
a2de2a133c fix(users): skip sms delivery when api key is unset 2026-04-29 20:19:13 +03:30
ec199a0e99 feat(projects): add client strip filtering and page refresh 2026-04-29 00:53:54 +03:30
ef05f0a89e feat(reports): add daily rate to report tables and exports 2026-04-28 20:26:20 +03:30
1cd948592c refactor(projects): remove project membership access model 2026-04-28 19:35:24 +03:30
71924ce6fb feat(logs): add workspace activity log api 2026-04-28 18:51:42 +03:30
c8a118788b feat(reports): include workspace thumbnail in pdf exports 2026-04-28 11:38:43 +03:30
315f2ca728 feat(workspaces): add thumbnail upload and lifecycle support 2026-04-28 11:38:35 +03:30
76f02dc259 feat(workspaces): expose role-aware membership details 2026-04-28 10:46:15 +03:30
afb1a55570 fix(permissions): restrict deletes and admin member management 2026-04-28 10:02:37 +03:30
02c9c17c30 fix(time-entries): preserve deleted tags in timesheet edits 2026-04-27 22:58:27 +03:30
7bd60fd641 fix(reports): localize and group exported income values 2026-04-27 21:14:02 +03:30
208e81139b fix(reports): use persian month buckets in chart data 2026-04-27 16:43:54 +03:30
e26263e93f feat(reports): add localized workspace reports and exports 2026-04-27 16:15:41 +03:30
fadf898486 feat(pricing): add workspace user rates and price units 2026-04-26 10:19:04 +03:30