Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3333 commits
Select commit Hold shift + click to select a range
2fa74c5
feat: merge GSSoC PR #3005 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
e52179d
feat: merge GSSoC PR #3004 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
5ac0331
feat: merge GSSoC PR #3003 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
7656f76
feat: merge GSSoC PR #3002 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
fbc7466
feat: merge GSSoC PR #3000 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
4549e35
feat: merge GSSoC PR #2999 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
6e2a067
feat: merge GSSoC PR #2998 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
114d357
feat: merge GSSoC PR #2997 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
b532b9e
feat: merge GSSoC PR #2996 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
09557cf
feat: merge GSSoC PR #2995 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
9b3530a
feat: merge GSSoC PR #2994 by @Aryanbansal-05 (conflict-free)
riteshbonthalakoti Jun 25, 2026
e7fa6b0
feat: merge GSSoC PR #2993 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
983bdb0
feat: merge GSSoC PR #2992 by @Aryanbansal-05 (conflict-free)
riteshbonthalakoti Jun 25, 2026
46ebcf3
feat: merge GSSoC PR #2991 by @Aryanbansal-05 (conflict-free)
riteshbonthalakoti Jun 25, 2026
1c89508
feat: merge GSSoC PR #2990 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
fb9feb9
feat: merge GSSoC PR #2989 by @Aryanbansal-05 (conflict-free)
riteshbonthalakoti Jun 25, 2026
776565d
feat: merge GSSoC PR #2988 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
05eb96b
feat: merge GSSoC PR #2984 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
6c078d1
feat: merge GSSoC PR #2983 by @bhavyanjain3004 (conflict-free)
riteshbonthalakoti Jun 25, 2026
caea4a1
feat: merge GSSoC PR #2982 by @rudra3007-pro (conflict-free)
riteshbonthalakoti Jun 25, 2026
f0a9993
feat: merge GSSoC PR #2980 by @rudra3007-pro (conflict-free)
riteshbonthalakoti Jun 25, 2026
34630cb
feat: merge GSSoC PR #2985 by @sultanafariza07 (conflict-free)
riteshbonthalakoti Jun 25, 2026
3086836
feat: merge GSSoC PR #3031 by @pushtikadia (conflict-free)
riteshbonthalakoti Jun 25, 2026
1bfd3c0
feat: merge GSSoC PR #3030 by @pushtikadia (conflict-free)
riteshbonthalakoti Jun 25, 2026
2d10eb2
feat: merge GSSoC PR #3045 by @harshitanagpal05 (conflict-free)
riteshbonthalakoti Jun 25, 2026
5eec39c
Implement multi-task task weights for balanced loss optimization (#3077)
Nancy-3012 Jun 25, 2026
d20f971
Merge branch 'gssoc' into issue-3077-multi-task-weights
Nancy-3012 Jun 25, 2026
5494f46
fix: resolve all ruff E701 lint errors and syntax issues in test files
Nancy-3012 Jun 26, 2026
4345fbd
fix: add ruff.toml config and fix remaining lint errors in backend
Nancy-3012 Jun 26, 2026
cad4322
fix: restore only intentionally modified test files
Nancy-3012 Jun 26, 2026
6229bf1
Update test_models.py
harshitanagpal05 Jun 26, 2026
bbe1bc8
fix: resolve all ruff invalid-syntax and lint errors
Nancy-3012 Jun 26, 2026
55de53e
fix: make landing navbar fixed during scrolling
Sargam-Ghagre Jun 27, 2026
5e1f843
Merge upstream/gssoc into refactor-css-variables-gssoc
Jun 27, 2026
f734774
fix error
Jun 27, 2026
cc26890
fix(mobile): use Expo environment variables for Supabase config & imp…
harshitanagpal05 Jun 27, 2026
fc5b898
refactor: bump outdated packages to stable versions (#2972)
clarboncy Jun 27, 2026
a6ce541
docs: add comprehensive testing guide
Jun 27, 2026
1b59134
docs: add comprehensive database schema documentation (#2964)
norax-ai Jun 27, 2026
ebd5c9d
docs: improve CONTRIBUTING.md with step-by-step local setup and Docke…
norax-ai Jun 27, 2026
a57c7bb
fix: implement strict CORS configuration and session token revocation…
norax-ai Jun 27, 2026
cf2f284
fix: standardize environment variable loading with Pydantic validatio…
norax-ai Jun 27, 2026
747f2ef
feat: add Docker compose for local development with database (#2966)
norax-ai Jun 27, 2026
73f7477
perf: add FlatList memoization props for large list rendering (#2962)
norax-ai Jun 28, 2026
6d710e7
test: add component tests for admin screens (#2959)
norax-ai Jun 28, 2026
6fefff2
feat: unified CI workflow running linter and all test suites (#2965)
norax-ai Jun 28, 2026
9db10ab
feat: optimized multi-stage Dockerfiles with dev targets (#2967)
norax-ai Jun 28, 2026
89f9bfb
fix: add notification routing service for bounty tests
Jun 28, 2026
8d81504
Add local compose sandbox and auth fallbacks
Jun 28, 2026
a8b6f28
Add CSV export for weekly digest stats
Jun 28, 2026
a3703d7
Add offline ticket queue syncing
Jun 28, 2026
14aa51a
Document helpdesk database schema
Jun 28, 2026
6e056a7
fix: add secure file upload with size limit, magic-byte MIME validati…
Aryanbansal-05 Jun 29, 2026
a7a04b4
feat: implement automated model retraining pipeline (#3061)
knoxiboy Jun 29, 2026
eedd682
feat: implement batch ticket analysis endpoint (#3060)
knoxiboy Jun 29, 2026
bb0f760
feat: implement comprehensive structured logging with request tracing…
knoxiboy Jun 29, 2026
37cb753
fix: sla breach calculation accounts for business hours and skips wee…
knoxiboy Jun 29, 2026
043ca51
fix: classifier v3 fallback now logs warning and tracks metrics (#3057)
knoxiboy Jun 29, 2026
c54aa19
fix: replace TICKETS_DB with supabase in /tickets endpoints (#3056)
knoxiboy Jun 29, 2026
f3da4b4
fix: address bot suggestions for model retraining PR (#3183)
knoxiboy Jun 29, 2026
abd0922
fix: address bot suggestions for batch analysis PR (#3184)
knoxiboy Jun 29, 2026
5e72247
fix: lazy load classifier v3 model artifacts
User99875 Jun 29, 2026
12d44d3
feat: add real-time KB article auto-suggestion on ticket creation
Nancy-3012 Jul 1, 2026
77e2d76
fix: add idempotent add_ticket to DuplicateService preventing duplica…
Aryanbansal-05 Jul 1, 2026
a08b608
fix: surface real errors in predictTicket instead of silently falling…
Aryanbansal-05 Jul 1, 2026
0f33ec9
feat: merge GSSoC PR #3207 by @Aryanbansal-05 (conflict-free)
riteshbonthalakoti Jul 1, 2026
8b2dc72
feat: merge GSSoC PR #3206 by @Nancy-3012 (conflict-free)
riteshbonthalakoti Jul 1, 2026
2fea21f
feat: merge GSSoC PR #3176 by @Aryanbansal-05 (conflict-free)
riteshbonthalakoti Jul 1, 2026
3e369a1
feat: merge GSSoC PR #3170 by @clarboncy (conflict-free)
riteshbonthalakoti Jul 1, 2026
1854d88
feat: merge GSSoC PR #3169 by @clarboncy (conflict-free)
riteshbonthalakoti Jul 1, 2026
6b72cca
feat: merge GSSoC PR #3168 by @clarboncy (conflict-free)
riteshbonthalakoti Jul 1, 2026
e050e5e
feat: merge GSSoC PR #3167 by @clarboncy (conflict-free)
riteshbonthalakoti Jul 1, 2026
ba58f27
feat: merge GSSoC PR #3166 by @clarboncy (conflict-free)
riteshbonthalakoti Jul 1, 2026
e30360d
feat: merge GSSoC PR #3165 by @clarboncy (conflict-free)
riteshbonthalakoti Jul 1, 2026
bdcad5f
feat: merge GSSoC PR #3164 by @clarboncy (conflict-free)
riteshbonthalakoti Jul 1, 2026
ea567e0
feat: merge GSSoC PR #3163 by @clarboncy (conflict-free)
riteshbonthalakoti Jul 1, 2026
b4cd63e
feat: merge GSSoC PR #3162 by @clarboncy (conflict-free)
riteshbonthalakoti Jul 1, 2026
64ed048
feat: merge GSSoC PR #3161 by @Arpita2919 (conflict-free)
riteshbonthalakoti Jul 1, 2026
0736e32
feat: merge GSSoC PR #3160 by @clarboncy (conflict-free)
riteshbonthalakoti Jul 1, 2026
a4ae9af
feat: merge GSSoC PR #3159 by @harshitanagpal05 (conflict-free)
riteshbonthalakoti Jul 1, 2026
6e5967f
feat: merge GSSoC PR #3108 by @harshitanagpal05 (conflict-free)
riteshbonthalakoti Jul 1, 2026
b74b489
feat: merge GSSoC PR #3093 by @Nancy-3012 (conflict-free)
riteshbonthalakoti Jul 1, 2026
8986f57
feat: merge GSSoC PR #3086 by @royliz3090-jpg (conflict-free)
riteshbonthalakoti Jul 1, 2026
bd7f655
feat: merge GSSoC PR #3066 by @aashu91 (conflict-free)
riteshbonthalakoti Jul 1, 2026
72d173f
feat: merge GSSoC PR #3043 by @harshitanagpal05 (conflict-free)
riteshbonthalakoti Jul 1, 2026
e181188
feat: merge GSSoC PR #2986 by @Arpita2919 (conflict-free)
riteshbonthalakoti Jul 1, 2026
8a067b7
fix #3238
Jul 1, 2026
5e60de7
fix #3237
Jul 1, 2026
1f1fe1e
fix #3235
Jul 1, 2026
28c5ceb
fix #3233
Jul 1, 2026
a87c800
fix #3232
Jul 1, 2026
02a2a0a
fix #3231
Jul 1, 2026
eec2def
fix #3230
Jul 1, 2026
c395c80
docs(components): add JSDoc comments to React components
Jul 1, 2026
d39952b
fix #3236
Jul 1, 2026
ce7cc98
docs: expand developer FAQ
Jul 1, 2026
2ba2a90
fix: resolve merge conflicts with latest gssoc
Jul 1, 2026
532aafa
Merge branch 'gssoc' into docs/expand-faq
Arpita2919 Jul 1, 2026
d5cc855
perf(frontend): virtualize audit log list rendering with react-window
Nancy-3012 Jul 1, 2026
636c65c
Add 404 page and fix catch-all routing
Yogender-verma Jul 1, 2026
ec4b79a
refactor: Add safe domain whitelisting to spam heuristic filter
Pratikshya32 Jul 1, 2026
5f8a418
refactor: extract TicketDetailScreen UI strings into localizable JSON…
jacksong2049-prog Jul 1, 2026
debe45b
fix: add npm overrides to resolve react-joyride/React 19 peer conflic…
Nancy-3012 Jul 2, 2026
6c8c82f
fix(#3228): implement simple text classification filter to block dupl…
harshitanagpal05 Jul 2, 2026
56bca72
fix(#3226): implement strict Content Security Policy configuration in…
harshitanagpal05 Jul 2, 2026
9aa63a2
fix(ci): restore missing package configurations and fix tenant isolat…
harshitanagpal05 Jul 2, 2026
bd3735c
fix(backend): restore TicketRecord and TICKETS_DB deleted by automation
Nancy-3012 Jul 2, 2026
67d16aa
fix(frontend): restore missing eslint.config.js with test-file globals
Nancy-3012 Jul 2, 2026
7e92529
fix(ci): correct requirements.txt path in backend workflows
Nancy-3012 Jul 2, 2026
dae71ca
docs: add comprehensive contributing guide
Jul 2, 2026
0b5cc90
docs: expand deployment guide for multiple environments
Jul 2, 2026
932ca50
Auto-resolve merge conflicts
sanrishi Jul 2, 2026
ea2cca2
fix: add type validation for cache key generation
Krishnx21 Jul 3, 2026
9d6f297
fix: add httponly flag to csrf token cookie for enhanced security
Krishnx21 Jul 3, 2026
0e8a3c9
refactor: extract email validation into shared function to reduce dup…
Krishnx21 Jul 3, 2026
8963d31
fix: reject zero rate limit values
Krishnx21 Jul 3, 2026
0697d14
fix: lazy-initialize Supabase clients, add anon client for RLS-compli…
Aryanbansal-05 Jun 29, 2026
07c6639
fix: prevent biometric fallback loop on iOS by detecting cancel and e…
Aryanbansal-05 Jul 3, 2026
79dec71
feat: add BroadcastChannel-based cross-tab auth state sync for concur…
Aryanbansal-05 Jul 3, 2026
de0d9c9
fix(critical): route AI requests through server-side proxy to elimina…
namann5 Jul 3, 2026
38ebc3c
feat: Build end-to-end testing pipeline for user login with Cypress
Jul 1, 2026
220dccc
docs: add detailed instructions on secrets (issue 3227)
Jul 1, 2026
990cbfc
feat: add haptic feedback on ticket form submission #3219
jimeng999 Jul 4, 2026
5c44fa6
feat: add haptic feedback on ticket form submission #3219
jimeng999 Jul 4, 2026
5d379c8
feat: add /health/system endpoint with CPU/memory/disk metrics (bount…
jimeng999 Jul 4, 2026
16752dd
feat: add accessibility tooltips to dashboard metrics panels (bounty …
jimeng999 Jul 4, 2026
cb2d8e4
feat: implement routing guards for authenticated routes
abhi-0203 Jul 4, 2026
c67928f
fix: validate redis cache ttl configuration
Krishnx21 Jul 4, 2026
271692d
fix: save json files without parent directories
Krishnx21 Jul 4, 2026
79eced2
feat: merge GSSoC PR #3271 by @Aryanbansal-05 (conflict-free)
riteshbonthalakoti Jul 4, 2026
3df11d1
feat: merge GSSoC PR #3270 by @Aryanbansal-05 (conflict-free)
riteshbonthalakoti Jul 4, 2026
ebfee2e
feat: merge GSSoC PR #3264 by @Arpita2919 (conflict-free)
riteshbonthalakoti Jul 4, 2026
ba99893
feat: merge GSSoC PR #3261 by @Nancy-3012 (conflict-free)
riteshbonthalakoti Jul 4, 2026
7a3514a
feat: merge GSSoC PR #3260 by @harshitanagpal05 (conflict-free)
riteshbonthalakoti Jul 4, 2026
e55e092
feat: merge GSSoC PR #3255 by @Pratikshya32 (conflict-free)
riteshbonthalakoti Jul 4, 2026
baa0975
feat: merge GSSoC PR #3253 by @Nancy-3012 (conflict-free)
riteshbonthalakoti Jul 4, 2026
4b6bb2a
feat: merge GSSoC PR #3251 by @Arpita2919 (conflict-free)
riteshbonthalakoti Jul 4, 2026
9128a83
feat: merge GSSoC PR #3250 by @Arpita2919 (conflict-free)
riteshbonthalakoti Jul 4, 2026
d89db4c
feat: merge GSSoC PR #3186 by @knoxiboy (conflict-free)
riteshbonthalakoti Jul 4, 2026
40b31ce
feat: merge GSSoC PR #3185 by @knoxiboy (conflict-free)
riteshbonthalakoti Jul 4, 2026
1e72530
feat: merge GSSoC PR #3184 by @knoxiboy (conflict-free)
riteshbonthalakoti Jul 4, 2026
cd4cb3d
feat: merge GSSoC PR #3183 by @knoxiboy (conflict-free)
riteshbonthalakoti Jul 4, 2026
1dd24a4
feat: merge GSSoC PR #3173 by @b3417 (conflict-free)
riteshbonthalakoti Jul 4, 2026
eefedb7
feat: merge GSSoC PR #3172 by @b3417 (conflict-free)
riteshbonthalakoti Jul 4, 2026
2f0a18c
feat: merge GSSoC PR #3171 by @b3417 (conflict-free)
riteshbonthalakoti Jul 4, 2026
2571153
feat: merge GSSoC PR #3147 by @Sargam-Ghagre (conflict-free)
riteshbonthalakoti Jul 4, 2026
0d9b5ef
feat: merge GSSoC PR #3188 by @knoxiboy (conflict-free)
riteshbonthalakoti Jul 4, 2026
10f3b34
feat: merge GSSoC PR #3187 by @knoxiboy (conflict-free)
riteshbonthalakoti Jul 4, 2026
ffb9b71
Fix biometric authentication fallback loop lock on iOS
Jul 4, 2026
bc55792
Fix biometric authentication fallback loop lock on iOS
Jul 4, 2026
80852c9
feat: add pull-to-refresh to metrics list views
Jul 4, 2026
b802ccc
docs: add backend env variable documentation (#3227)
wisdom518 Jul 4, 2026
c17740f
feat: merge GSSoC PR #3306 by @sureshchouksey8 (conflict-free)
riteshbonthalakoti Jul 4, 2026
1011e32
feat: merge GSSoC PR #3291 by @abhi-0203 (conflict-free)
riteshbonthalakoti Jul 4, 2026
50cb1aa
feat: merge GSSoC PR #3295 by @Krishnx21 (conflict-free)
riteshbonthalakoti Jul 4, 2026
507df29
feat: add VSCode devcontainer config (#3223)
wisdom518 Jul 4, 2026
67b6565
feat: merge GSSoC PR #3274 by @namann5 (conflict-free)
riteshbonthalakoti Jul 4, 2026
c1de753
feat: merge GSSoC PR #3269 by @Krishnx21 (conflict-free)
riteshbonthalakoti Jul 4, 2026
e4bac58
feat: merge GSSoC PR #3265 by @Krishnx21 (conflict-free)
riteshbonthalakoti Jul 4, 2026
e848813
feat: merge GSSoC PR #3249 by @SKYJAMES777 (conflict-free)
riteshbonthalakoti Jul 4, 2026
f6b479f
feat: merge GSSoC PR #3248 by @SKYJAMES777 (conflict-free)
riteshbonthalakoti Jul 4, 2026
45a716d
feat: merge GSSoC PR #3245 by @SKYJAMES777 (conflict-free)
riteshbonthalakoti Jul 4, 2026
7c9becb
feat: merge GSSoC PR #3243 by @SKYJAMES777 (conflict-free)
riteshbonthalakoti Jul 4, 2026
27e9ae3
feat: merge GSSoC PR #3288 by @jimeng999 (conflict-free)
riteshbonthalakoti Jul 4, 2026
ef1cac4
feat: merge GSSoC PR #3286 by @jimeng999 (conflict-free)
riteshbonthalakoti Jul 4, 2026
5846bed
feat: merge GSSoC PR #3191 by @saurabhhhcodes (conflict-free)
riteshbonthalakoti Jul 4, 2026
6f52c86
feat: merge GSSoC PR #3313 by @wisdom518 (conflict-free)
riteshbonthalakoti Jul 4, 2026
e648ef3
feat: merge GSSoC PR #3087 by @BWM0223 (conflict-free)
riteshbonthalakoti Jul 4, 2026
fa075a0
feat: merge GSSoC PR #3088 by @BWM0223 (conflict-free)
riteshbonthalakoti Jul 4, 2026
94df10b
feat: merge GSSoC PR #3065 by @saimbcn1-lang (conflict-free)
riteshbonthalakoti Jul 4, 2026
5d091ec
feat: merge GSSoC PR #3046 by @shenyou080530 (conflict-free)
riteshbonthalakoti Jul 4, 2026
7a1eb56
feat: merge GSSoC PR #3044 by @namann5 (conflict-free)
riteshbonthalakoti Jul 4, 2026
bbd686e
feat: merge GSSoC PR #3038 by @SKYJAMES777 (conflict-free)
riteshbonthalakoti Jul 4, 2026
4dc8e5c
feat: merge GSSoC PR #3032 by @SKYJAMES777 (conflict-free)
riteshbonthalakoti Jul 4, 2026
0eb1519
feat: merge GSSoC PR #3025 by @namann5 (conflict-free)
riteshbonthalakoti Jul 4, 2026
19e25a3
feat: merge GSSoC PR #3014 by @BMGY396 (conflict-free)
riteshbonthalakoti Jul 4, 2026
0a59c12
feat: merge GSSoC PR #3013 by @Ryan-825 (conflict-free)
riteshbonthalakoti Jul 4, 2026
4f875da
feat: merge GSSoC PR #3294 by @Krishnx21 (conflict-free)
riteshbonthalakoti Jul 4, 2026
f44f3ff
feat: merge GSSoC PR #3284 by @sureshchouksey8 (conflict-free)
riteshbonthalakoti Jul 4, 2026
90006b1
feat: merge GSSoC PR #3281 by @sureshchouksey8 (conflict-free)
riteshbonthalakoti Jul 4, 2026
e1919ee
feat: merge GSSoC PR #2886 by @sanrishi (conflict-free)
riteshbonthalakoti Jul 4, 2026
d148a96
feat: merge GSSoC PR #3267 by @Krishnx21 (conflict-free)
riteshbonthalakoti Jul 4, 2026
97f02cc
feat: merge GSSoC PR #3266 by @Krishnx21 (conflict-free)
riteshbonthalakoti Jul 4, 2026
12d11df
feat: merge GSSoC PR #3263 by @Arpita2919 (conflict-free)
riteshbonthalakoti Jul 4, 2026
7745db6
feat: merge GSSoC PR #3256 by @jacksong2049-prog (conflict-free)
riteshbonthalakoti Jul 4, 2026
9a1c1bb
feat: merge GSSoC PR #3254 by @Yogender-verma (conflict-free)
riteshbonthalakoti Jul 4, 2026
84d6371
feat: merge GSSoC PR #3247 by @SKYJAMES777 (conflict-free)
riteshbonthalakoti Jul 4, 2026
57ffbab
feat: merge GSSoC PR #3246 by @SKYJAMES777 (conflict-free)
riteshbonthalakoti Jul 4, 2026
6f6c995
feat: merge GSSoC PR #3242 by @SKYJAMES777 (conflict-free)
riteshbonthalakoti Jul 4, 2026
b71a187
feat: merge GSSoC PR #3241 by @SKYJAMES777 (conflict-free)
riteshbonthalakoti Jul 4, 2026
ba25618
feat(#3197): Implement Dynamic Priority Escalation Rules Engine for A…
knoxiboy Jul 5, 2026
c5a9f95
feat(#3198): Implement Multi-Language Ticket Support with Auto-Detect…
knoxiboy Jul 5, 2026
7d38c19
feat(#3199): Implement WebSocket-Based Real-Time Ticket Status Update…
knoxiboy Jul 5, 2026
1e76545
feat(#3200): Implement SLA Breach Prediction Engine with Proactive Es…
knoxiboy Jul 5, 2026
03775c7
feat(#3201): Implement Ticket Merge and Duplicate Linking System
knoxiboy Jul 5, 2026
ada5765
feat(#3202): Add automated ticket routing based on DistilBERT classif…
knoxiboy Jul 5, 2026
054a63e
feat(#3203): Add knowledge base article auto-suggestion with similari…
knoxiboy Jul 5, 2026
ace4a7e
security(#3204): Implement row-level security policies for multi-tena…
knoxiboy Jul 5, 2026
f099360
fix(security): enable row level security on all application tables
Jul 5, 2026
9cea9ee
fix(security): remove hardcoded supabase credentials
Jul 5, 2026
7283722
fix(security): pin dependency versions in requirements.txt to specifi…
Jul 5, 2026
cf7fc09
fix(security): implement automated dependency and code security scanning
Jul 5, 2026
a294ddc
fix(security): implement missing audit logging for administrative act…
Jul 5, 2026
d3b25dd
fix(frontend): add safari-safe date utils
Jul 5, 2026
72b5392
feat(security): add automated secret scanning in CI and pre-commit hook
Jul 6, 2026
e06c5bd
fix(security): add MIME-type and size validation to OCR endpoint
Jul 6, 2026
1bbb13a
Merge branch 'gssoc' into docs/add-contributing-guide
Arpita2919 Jul 7, 2026
cab2399
test: add privilege escalation tests for master_admin role assignment…
Aryanbansal-05 Jul 8, 2026
0f0ea40
feat: add structured request/response logging middleware (#3390)
Nancy-3012 Jul 8, 2026
b7b8488
fix: wire up AuditLoggerMiddleware + audit admin/profile mutations (#…
Nancy-3012 Jul 8, 2026
71e7a7b
Merge remote-tracking branch 'upstream/gssoc' into feat/bounty-2966
lb1192176991-lab Jul 13, 2026
ce248d0
fix: apply React.memo to FlatList render items and guard nullable cre…
lb1192176991-lab Jul 13, 2026
1e9ffc7
build(deps): implement automated dependency updates via Dependabot
Jul 15, 2026
e43a6bd
feat(devops): audit AWS/GCP IAM roles for least privilege
Jul 15, 2026
7672dbf
feat(devops): add SSL/TLS certificate auto-renewal script
Jul 15, 2026
2244db8
feat(devops): add SSL/TLS certificate auto-renewal script
Jul 15, 2026
9036dd6
feat: add script to setup branch protection rules
Jul 15, 2026
99f1766
feat(ci): add automated code quality checks (SonarQube/CodeClimate)
Jul 15, 2026
1efc6ea
feat(devops): add script to clean up dangling Docker volumes
Jul 15, 2026
e7fb288
docs: add runbook for common production incidents
Jul 15, 2026
972e289
feat: merge GSSoC PR #3862 by @Daksh7785 (conflict-free)
riteshbonthalakoti Jul 19, 2026
a540829
feat: merge GSSoC PR #3856 by @Daksh7785 (conflict-free)
riteshbonthalakoti Jul 19, 2026
ad93c0f
feat: merge GSSoC PR #3853 by @Daksh7785 (conflict-free)
riteshbonthalakoti Jul 19, 2026
9cce01a
feat: merge GSSoC PR #3852 by @Daksh7785 (conflict-free)
riteshbonthalakoti Jul 19, 2026
0c6551e
feat: merge GSSoC PR #3434 by @Nancy-3012 (conflict-free)
riteshbonthalakoti Jul 19, 2026
16825ac
feat: merge GSSoC PR #3403 by @b3417 (conflict-free)
riteshbonthalakoti Jul 19, 2026
7b2b43d
feat: merge GSSoC PR #3849 by @Daksh7785 (conflict-free)
riteshbonthalakoti Jul 19, 2026
f2c75a9
feat: merge GSSoC PR #3432 by @Aryanbansal-05 (conflict-free)
riteshbonthalakoti Jul 19, 2026
0144adc
feat: merge GSSoC PR #3433 by @Nancy-3012 (conflict-free)
riteshbonthalakoti Jul 19, 2026
d241c11
feat: merge GSSoC PR #3413 by @Daksh7785 (conflict-free)
riteshbonthalakoti Jul 19, 2026
13abb57
feat: merge GSSoC PR #3415 by @Daksh7785 (conflict-free)
riteshbonthalakoti Jul 19, 2026
c935a00
feat: merge GSSoC PR #3850 by @Daksh7785 (conflict-free)
riteshbonthalakoti Jul 19, 2026
95983bd
feat: merge GSSoC PR #3848 by @Daksh7785 (conflict-free)
riteshbonthalakoti Jul 19, 2026
1a9268f
feat: merge GSSoC PR #3376 by @Daksh7785 (conflict-free)
riteshbonthalakoti Jul 19, 2026
0941485
feat: merge GSSoC PR #3372 by @Daksh7785 (conflict-free)
riteshbonthalakoti Jul 19, 2026
7dc31a9
feat: merge GSSoC PR #3370 by @Daksh7785 (conflict-free)
riteshbonthalakoti Jul 19, 2026
9902467
feat: merge GSSoC PR #3358 by @Daksh7785 (conflict-free)
riteshbonthalakoti Jul 19, 2026
bdc9a51
feat: merge GSSoC PR #3350 by @Daksh7785 (conflict-free)
riteshbonthalakoti Jul 19, 2026
419b34c
feat: merge GSSoC PR #3349 by @knoxiboy (conflict-free)
riteshbonthalakoti Jul 19, 2026
d7ff3c9
feat: merge GSSoC PR #3348 by @knoxiboy (conflict-free)
riteshbonthalakoti Jul 19, 2026
a62c1ad
feat: merge GSSoC PR #3345 by @knoxiboy (conflict-free)
riteshbonthalakoti Jul 19, 2026
38e7f14
feat: merge GSSoC PR #3339 by @knoxiboy (conflict-free)
riteshbonthalakoti Jul 19, 2026
fe32c95
feat: merge GSSoC PR #3338 by @knoxiboy (conflict-free)
riteshbonthalakoti Jul 19, 2026
e65a3ed
feat: merge GSSoC PR #3337 by @knoxiboy (conflict-free)
riteshbonthalakoti Jul 19, 2026
fb37903
feat: merge GSSoC PR #3336 by @knoxiboy (conflict-free)
riteshbonthalakoti Jul 19, 2026
001783b
feat: merge GSSoC PR #3325 by @knoxiboy (conflict-free)
riteshbonthalakoti Jul 19, 2026
66cc4b7
feat: merge GSSoC PR #3263 by @Arpita2919 (conflict-free)
riteshbonthalakoti Jul 19, 2026
ea4d730
feat: merge GSSoC PR #3064 by @lb1192176991-lab (conflict-free)
riteshbonthalakoti Jul 19, 2026
d52afbf
feat: merge GSSoC PR #3063 by @lb1192176991-lab (conflict-free)
riteshbonthalakoti Jul 19, 2026
02da2a8
fix(frontend): replace Country free-text field with predefined dropdo…
Nancy-3012 Aug 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
34 changes: 34 additions & 0 deletions .codeclimate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
version: "2"
checks:
argument-count:
enabled: true
complex-logic:
enabled: true
file-lines:
enabled: true
method-complexity:
enabled: true
method-count:
enabled: true
method-lines:
enabled: true
nested-control-flow:
enabled: true
return-statements:
enabled: true
similar-code:
enabled: true
identical-code:
enabled: true
plugins:
eslint:
enabled: true
pep8:
enabled: true
exclude_patterns:
- "**/node_modules/"
- "**/venv/"
- "**/__pycache__/"
- "**/*.spec.js"
- "**/*.test.js"
- "**/tests/"
22 changes: 22 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "HelpDesk.AI",
"image": "mcr.microsoft.com/devcontainers/python:3.12",
"features": {
"ghcr.io/devcontainers/features/node:1": {
"version": "20"
},
"ghcr.io/devcontainers/features/git:1": {}
},
"forwardPorts": [8000, 3000],
"postCreateCommand": "pip install -r backend/requirements.txt && cd Frontend && npm install",
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
]
}
}
}
73 changes: 73 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# =============================================================================
# .dockerignore — Exclude unnecessary files from Docker build context
# =============================================================================
# The root Dockerfile only requires the `backend/` directory for the Python
# FastAPI application. Everything else is excluded to:
# - Reduce build context size (was sending entire repo including .git/ ~400MB+)
# - Speed up Docker builds (especially in CI/CD pipelines)
# - Prevent accidental inclusion of secrets, node_modules, etc.
# =============================================================================

# ── Version Control ──────────────────────────────────────────────────────────
.git/
.gitattributes
.gitignore

# ── CI / Dev Configs ─────────────────────────────────────────────────────────
.github/
.vscode/
.idea/
*.swp
*.swo

# ── Other Top-Level Projects (not needed for backend Docker image) ───────────
Frontend/
MobileApp/
docs/
templates/
scratch/
supabase/
Model/
node_modules/
.npm-cache/
.easignore

# ── Python Cache ─────────────────────────────────────────────────────────────
**/__pycache__/
**/*.pyc
**/*.pyo
**/.pytest_cache/
**/*.egg-info/

# ── Virtual Environments ─────────────────────────────────────────────────────
**/venv/
**/.venv/
venv/
.venv/

# ── Environment / Secrets ────────────────────────────────────────────────────
.env
.env.local
.env.*.local
backend/.env

# ── Data & Model Artifacts (should be handled separately, not in Docker image)
backend/data/
backend/models/
backend/*.csv
backend/training/

# ── Generated / Build Files ──────────────────────────────────────────────────
dist/
build/
*.tsbuildinfo

# ── OS Files ─────────────────────────────────────────────────────────────────
.DS_Store
Thumbs.db
desktop.ini
*.log

# ── Documentation (not needed at runtime) ────────────────────────────────────
**/*.md
LICENSE
29 changes: 29 additions & 0 deletions .easignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# ====================================================
# EAS Build & Update Ignore Configuration (.easignore)
# ====================================================
# Exclude heavy non-mobile project directories from EAS cloud bundle
# to keep archive sizes under 5MB instead of 700MB+.

# Exclude non-mobile services
/Frontend/
/backend/
/Model/
/docs/
/scratch/
/scripts/
/templates/
/final_dataset.xlsx

# Exclude package caches and git configs
/.npm-cache/
/.git/
/.github/
/.vscode/

# Exclude local mobile development artifacts
/MobileApp/node_modules/
/MobileApp/.expo/
/MobileApp/android/
/MobileApp/ios/
/MobileApp/web-build/
/MobileApp/dist/
18 changes: 18 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.{py,pyi}]
indent_size = 4

[Makefile]
indent_style = tab

[*.md]
trim_trailing_whitespace = false
50 changes: 50 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# HELPDESK.AI Environment Variables
# Copy to .env and fill in your values. NEVER commit .env to git.

# --- Server ---
PORT=5000
NODE_ENV=development
SECRET_KEY=your-secret-key-here

# --- Database ---
DATABASE_URL=postgresql://user:password@localhost:5432/helpdesk
MONGODB_URI=mongodb://localhost:27017/helpdesk

# --- AI/ML Services ---
OPENAI_API_KEY=sk-...
HUGGINGFACE_API_TOKEN=hf_...
OCR_SERVICE_API_KEY=

# --- Email ---
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=
SMTP_PASS=

# --- Auth ---
JWT_SECRET=your-j...hars
JWT_EXPIRY=24h
PASSWORD_RESET_EXPIRY=***

# --- Redis ---
# Redis password for authentication (leave empty for no auth in dev)
REDIS_PASSWORD=

# --- CORS & Security Headers ---
# Comma-separated list of allowed origins (no trailing slash)
ALLOWED_ORIGINS=https://helpdeskaiv1.vercel.app,http://localhost:5173,http://localhost:3000
# Optional: regex pattern for flexible origin matching (e.g., staging deployments)
# ALLOWED_ORIGIN_REGEX=https://.*\.vercel\.app

# Optional: Custom Content-Security-Policy (full policy string or comma-separated
# origins to append to the default policy used by backend/security_middleware.py)
# CSP_ALLOWED_SOURCES=https://analytics.example.com,https://cdn.example.com

# Token for /metrics endpoint authentication
METRICS_TOKEN=

# --- Logging ---
# Severity threshold for the backend structured logger (issue #2944).
# Accepts DEBUG/INFO/WARNING/ERROR/CRITICAL (case-insensitive) or an integer.
# Defaults to INFO when unset or invalid.
LOG_LEVEL=INFO
37 changes: 37 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"root": true,
"env": {
"browser": true,
"es2020": true,
"node": true
},
"extends": [
"eslint:recommended"
],
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"rules": {
"no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }],
"no-console": "warn",
"prefer-const": "error",
"no-var": "error",
"eqeqeq": ["error", "always"]
},
"overrides": [
{
"files": ["*.test.js", "*.test.jsx", "*.spec.js", "*.spec.jsx"],
"env": {
"jest": true
}
}
],
"ignorePatterns": [
"node_modules/",
"dist/",
"build/",
"coverage/",
"*.min.js"
]
}
4 changes: 0 additions & 4 deletions .gitattributes

This file was deleted.

Loading
Loading