Ace
1f448320be
Merge branch 'main' of https://git.coastit.co.za/caitlin/CRM_ENVR
2026-06-26 13:07:44 +02:00
Ace
9ce9506e8e
Update on auto setup
2026-06-26 13:07:40 +02:00
Hannah_Bagga
ed2e1fc64d
Web Background
2026-06-26 13:03:37 +02:00
Ace
5feb95187c
adding a wizard for setup
2026-06-26 12:08:32 +02:00
Ace
a4d2ad143b
Merge branch 'main' of https://git.coastit.co.za/caitlin/CRM_ENVR
2026-06-26 11:48:54 +02:00
Ace
da702d6beb
Changed from user specific, to open for everyone
2026-06-26 11:48:51 +02:00
caitlin
33a4f9dfa9
Merge branch 'main' of https://git.coastit.co.za/caitlin/CRM_ENVR
2026-06-26 11:48:02 +02:00
Hannah_Bagga
82e8ce8ae9
Merge branch 'main' of https://git.coastit.co.za/caitlin/CRM_ENVR
2026-06-26 11:21:45 +02:00
Hannah_Bagga
343f814569
npm
2026-06-26 11:21:10 +02:00
TroodonEnjoyer
4c09635d30
Merge branch 'main' of https://git.coastit.co.za/caitlin/CRM_ENVR
2026-06-26 11:14:08 +02:00
TroodonEnjoyer
20a1744e7f
Security architecture upgrade + bug reporting system
...
Database & Security:
- Dual password storage: bcrypt (auth) + pgcrypto AES-256 (recovery)
- SUPER_ADMIN master key recovery system (master_keys table)
- Row Level Security on customers, leads, opportunities, communications, tasks
- SALES_USER: own records only
- ADMIN: all records
- SUPER_ADMIN: all records (bypasses RLS)
- Immutable audit logs (DELETE/UPDATE blocked by triggers)
- New audit event types: BUG_CREATED, BUG_UPDATED, BUG_ASSIGNED,
BUG_RESOLVED, LOGIN, LOGOUT
- Database export logging (database_export_logs table)
- Backup logging with pg_dump script (scripts/backup.ps1)
- Fixed audit constraint to allow new action types
Authentication:
- Random JWT secret generated on every dev server start
(invalidates all prior sessions after restart)
- Session cookie is now session-only (no maxAge)
- setSessionContext() for RLS integration
Bug Reporting System:
- bug_reports table with RLS (insert by all, select/update by admin only)
- POST /api/bug-reports (any authenticated user)
- GET /api/bug-reports (admin/super_admin only)
- PATCH /api/bug-reports/:id (admin/super_admin only)
- POST /api/auth/recover (super_admin password recovery)
- Audit logging for all bug report actions
Other:
- Added 'dev' to UserRole type
- Bug report modal UI with severity selector
- Added bug report button to topbar
2026-06-26 11:13:28 +02:00
Ace
c9df7787d5
Added in loading bot
2026-06-26 11:10:58 +02:00
caitlin
fa39f2af9d
Merge origin/main into master
2026-06-26 09:48:11 +02:00
Ace
9bbaf70145
Checks done
2026-06-25 16:04:05 +02:00
Hannah_Bagga
5668a63370
Merge branch 'main' of https://git.coastit.co.za/caitlin/CRM_ENVR
2026-06-25 15:50:35 +02:00
Ace
3af622f53d
added browser
2026-06-25 15:42:35 +02:00
Hannah_Bagga
1465016b56
.....
2026-06-25 15:15:35 +02:00
Hannah_Bagga
906e37e845
....
2026-06-25 15:15:15 +02:00
caitlin
52a489759f
Working on the mcp, this helps connect it
2026-06-25 10:25:00 +02:00
Ace
1f032dc098
Added rene changes
2026-06-24 18:43:38 +02:00
Ace
1adb6544c2
Merge branch 'main' of https://git.coastit.co.za/caitlin/CRM_ENVR
2026-06-24 17:35:58 +02:00
Ace
56ff9995a2
Restore file structure to last legit commit b245b35, remove remote CRM_ENVR-main files
2026-06-24 17:35:48 +02:00
TroodonEnjoyer
33753a1291
Merge branch 'main' of https://git.coastit.co.za/caitlin/CRM_ENVR
2026-06-24 17:35:10 +02:00
Ace
06912f3e59
Merge remote changes, keep local project structure
2026-06-24 17:29:07 +02:00
Ace
f7258d38f6
Seeing Ai new added
2026-06-24 17:26:32 +02:00
Ace
4c1d994054
fix
2026-06-24 17:21:52 +02:00
Ace
b245b352e7
Updated Ai to pull from facebook, added a loading SVG to make user wait for server too boot up, and added commands that can be used to start off the AI exstraction
2026-06-24 17:17:38 +02:00
Rene
cd797c5b3c
Remove node_modules from tracking
2026-06-24 15:21:57 +02:00
Rene
9d9309833b
Add root .gitignore to exclude node_modules and .next
2026-06-24 15:21:49 +02:00
Rene
1e332fb50d
Fix JWT_SECRET env var, setup database, update spider web and DAILY BUGLE colors to #e62020
2026-06-24 15:08:48 +02:00
TroodonEnjoyer
9acbbb6a19
Fixed the problem with skipping the login screen and /dashboard
2026-06-24 13:15:04 +02:00
Ace
8a6ad5c6c6
Updated
2026-06-24 12:30:22 +02:00
Ace
b2a2f7e40f
Ahh fix bloating size upload was to large
2026-06-24 09:54:28 +02:00
Ace
2b4749e5e1
Add rust-ai/target/ to gitignore, remove build artifacts from tracking
2026-06-24 08:58:18 +02:00
Ace
e872ab9736
feat: Enhance dashboard UI with Spider-Man theme
...
- Added Spider-Man themed watermarks and gradients to the dashboard components.
- Updated color scheme for various dashboard elements to match the Spider-Man theme.
- Introduced new styles and animations for loading states and visual elements.
- Refactored existing components to incorporate the new design elements, including charts and cards.
- Updated global styles to support the new theme and added custom fonts.
- Adjusted layout and responsiveness for better user experience.
2026-06-23 20:24:27 +02:00
Hannah_Bagga
4d9a1dc684
Update .gitignore for browser-use-service generated files
2026-06-23 19:57:37 +02:00
Hannah_Bagga
203eac2132
..
2026-06-23 19:54:46 +02:00
Hannah_Bagga
97e8da3bfd
Merge remote changes from origin/main
2026-06-23 19:54:00 +02:00
Hannah_Bagga
3a927b25b6
.
2026-06-23 19:12:10 +02:00
Hannah_Bagga
b4be369f25
no clue
2026-06-23 19:11:42 +02:00
Hannah_Bagga
4fd9f7752a
spider man theme???
2026-06-23 19:10:43 +02:00
Hannah_Bagga
e78503b5c1
Spider-man theme???
2026-06-23 19:07:40 +02:00
Ace
d51c84997a
new changes
2026-06-23 15:29:34 +02:00
Ace
c355d0e2e5
Refactor code structure for improved readability and maintainability
2026-06-23 14:25:39 +02:00
Ace
ff56cea4b8
feat: add Facebook account tracking and management
...
- Introduced new migration for `facebook_accounts` and `facebook_scrape_logs` tables.
- Updated the scraping logic to handle Facebook accounts, including success and failure tracking.
- Implemented API endpoints for managing Facebook accounts and their scrape logs.
- Enhanced user permissions to restrict access to Facebook account management to admins and super admins.
- Added a dialog component for displaying and managing Facebook accounts in the UI.
- Updated lead fetching logic to include user role checks for assignment and access.
2026-06-23 14:18:18 +02:00
Hannah_Bagga
7bd9c17b5f
Add Node.js AI server, fix dev scripts, ignore rust-ai/target
2026-06-23 11:07:55 +02:00
Hannah_Bagga
1c717ce7ba
Merge branch 'main' of https://git.coastit.co.za/caitlin/CRM_ENVR
2026-06-23 10:07:36 +02:00
caitlin
cc56fe6286
Merge branch 'main' of https://git.coastit.co.za/caitlin/CRM_ENVR
2026-06-23 10:01:52 +02:00
Hannah_Bagga
cf554a70cd
Fix dev:rust to use Node.js AI server (Rust build blocked by Defender), fix dev:ollama fallback path
2026-06-23 10:01:33 +02:00
Hannah_Bagga
3061ab111c
Merge branch 'main' of https://git.coastit.co.za/caitlin/CRM_ENVR
...
# Conflicts:
# package.json
# rust-ai/target/.rustc_info.json
# rust-ai/target/debug/.fingerprint/crm-ai-f6bc192b1f678367/bin-crm-ai
# rust-ai/target/debug/.fingerprint/crm-ai-f6bc192b1f678367/bin-crm-ai.json
# rust-ai/target/debug/build/crossbeam-utils-8066693d49c7288a/build-script-build.exe
# rust-ai/target/debug/build/crossbeam-utils-8066693d49c7288a/build_script_build-8066693d49c7288a.exe
# rust-ai/target/debug/build/crossbeam-utils-8066693d49c7288a/build_script_build-8066693d49c7288a.pdb
# rust-ai/target/debug/build/crossbeam-utils-8066693d49c7288a/build_script_build.pdb
# rust-ai/target/debug/build/generic-array-91b16dd255e0db51/build-script-build.exe
# rust-ai/target/debug/build/generic-array-91b16dd255e0db51/build_script_build-91b16dd255e0db51.exe
# rust-ai/target/debug/build/generic-array-91b16dd255e0db51/build_script_build-91b16dd255e0db51.pdb
# rust-ai/target/debug/build/generic-array-91b16dd255e0db51/build_script_build.pdb
# rust-ai/target/debug/build/getrandom-2c7c133266bf5cf5/build-script-build.exe
# rust-ai/target/debug/build/getrandom-2c7c133266bf5cf5/build_script_build-2c7c133266bf5cf5.exe
# rust-ai/target/debug/build/getrandom-2c7c133266bf5cf5/build_script_build-2c7c133266bf5cf5.pdb
# rust-ai/target/debug/build/getrandom-2c7c133266bf5cf5/build_script_build.pdb
# rust-ai/target/debug/build/httparse-4dc4630409fa7385/build-script-build.exe
# rust-ai/target/debug/build/httparse-4dc4630409fa7385/build_script_build-4dc4630409fa7385.exe
# rust-ai/target/debug/build/httparse-4dc4630409fa7385/build_script_build-4dc4630409fa7385.pdb
# rust-ai/target/debug/build/httparse-4dc4630409fa7385/build_script_build.pdb
# rust-ai/target/debug/build/icu_normalizer_data-96a52fd262d0f4c6/build-script-build.exe
# rust-ai/target/debug/build/icu_normalizer_data-96a52fd262d0f4c6/build_script_build-96a52fd262d0f4c6.exe
# rust-ai/target/debug/build/icu_normalizer_data-96a52fd262d0f4c6/build_script_build-96a52fd262d0f4c6.pdb
# rust-ai/target/debug/build/icu_normalizer_data-96a52fd262d0f4c6/build_script_build.pdb
# rust-ai/target/debug/build/icu_properties_data-cd63a06a3e531c28/build-script-build.exe
# rust-ai/target/debug/build/icu_properties_data-cd63a06a3e531c28/build_script_build-cd63a06a3e531c28.exe
# rust-ai/target/debug/build/icu_properties_data-cd63a06a3e531c28/build_script_build-cd63a06a3e531c28.pdb
# rust-ai/target/debug/build/icu_properties_data-cd63a06a3e531c28/build_script_build.pdb
# rust-ai/target/debug/build/libc-763fb040b2d663ab/build-script-build.exe
# rust-ai/target/debug/build/libc-763fb040b2d663ab/build_script_build-763fb040b2d663ab.exe
# rust-ai/target/debug/build/libc-763fb040b2d663ab/build_script_build-763fb040b2d663ab.pdb
# rust-ai/target/debug/build/libc-763fb040b2d663ab/build_script_build.pdb
# rust-ai/target/debug/build/native-tls-33399c41462f9840/build-script-build.exe
# rust-ai/target/debug/build/native-tls-33399c41462f9840/build_script_build-33399c41462f9840.exe
# rust-ai/target/debug/build/native-tls-33399c41462f9840/build_script_build-33399c41462f9840.pdb
# rust-ai/target/debug/build/native-tls-33399c41462f9840/build_script_build.pdb
# rust-ai/target/debug/build/num-traits-7471ce6e6595e59b/build-script-build.exe
# rust-ai/target/debug/build/num-traits-7471ce6e6595e59b/build_script_build-7471ce6e6595e59b.exe
# rust-ai/target/debug/build/num-traits-7471ce6e6595e59b/build_script_build-7471ce6e6595e59b.pdb
# rust-ai/target/debug/build/num-traits-7471ce6e6595e59b/build_script_build.pdb
# rust-ai/target/debug/build/parking_lot_core-12fc7eb0299b59cc/build-script-build.exe
# rust-ai/target/debug/build/parking_lot_core-12fc7eb0299b59cc/build_script_build-12fc7eb0299b59cc.exe
# rust-ai/target/debug/build/parking_lot_core-12fc7eb0299b59cc/build_script_build-12fc7eb0299b59cc.pdb
# rust-ai/target/debug/build/parking_lot_core-12fc7eb0299b59cc/build_script_build.pdb
# rust-ai/target/debug/build/proc-macro2-f29c3a04cd092e27/build-script-build.exe
# rust-ai/target/debug/build/proc-macro2-f29c3a04cd092e27/build_script_build-f29c3a04cd092e27.exe
# rust-ai/target/debug/build/proc-macro2-f29c3a04cd092e27/build_script_build-f29c3a04cd092e27.pdb
# rust-ai/target/debug/build/proc-macro2-f29c3a04cd092e27/build_script_build.pdb
# rust-ai/target/debug/build/quote-a01905ec43427c6e/build-script-build.exe
# rust-ai/target/debug/build/quote-a01905ec43427c6e/build_script_build-a01905ec43427c6e.exe
# rust-ai/target/debug/build/quote-a01905ec43427c6e/build_script_build-a01905ec43427c6e.pdb
# rust-ai/target/debug/build/quote-a01905ec43427c6e/build_script_build.pdb
# rust-ai/target/debug/build/rustversion-f8e8dfefa013a996/build-script-build.exe
# rust-ai/target/debug/build/rustversion-f8e8dfefa013a996/build_script_build-f8e8dfefa013a996.exe
# rust-ai/target/debug/build/rustversion-f8e8dfefa013a996/build_script_build-f8e8dfefa013a996.pdb
# rust-ai/target/debug/build/rustversion-f8e8dfefa013a996/build_script_build.pdb
# rust-ai/target/debug/build/serde-b4e8599ad30d0584/build-script-build.exe
# rust-ai/target/debug/build/serde-b4e8599ad30d0584/build_script_build-b4e8599ad30d0584.exe
# rust-ai/target/debug/build/serde-b4e8599ad30d0584/build_script_build-b4e8599ad30d0584.pdb
# rust-ai/target/debug/build/serde-b4e8599ad30d0584/build_script_build.pdb
# rust-ai/target/debug/build/serde_core-fdf5f60f2a35bbe7/build-script-build.exe
# rust-ai/target/debug/build/serde_core-fdf5f60f2a35bbe7/build_script_build-fdf5f60f2a35bbe7.exe
# rust-ai/target/debug/build/serde_core-fdf5f60f2a35bbe7/build_script_build-fdf5f60f2a35bbe7.pdb
# rust-ai/target/debug/build/serde_core-fdf5f60f2a35bbe7/build_script_build.pdb
# rust-ai/target/debug/build/serde_json-257d8c53e770cd03/build-script-build.exe
# rust-ai/target/debug/build/serde_json-257d8c53e770cd03/build_script_build-257d8c53e770cd03.exe
# rust-ai/target/debug/build/serde_json-257d8c53e770cd03/build_script_build-257d8c53e770cd03.pdb
# rust-ai/target/debug/build/serde_json-257d8c53e770cd03/build_script_build.pdb
# rust-ai/target/debug/build/thiserror-f1e01e19f7ffccfe/build-script-build.exe
# rust-ai/target/debug/build/thiserror-f1e01e19f7ffccfe/build_script_build-f1e01e19f7ffccfe.exe
# rust-ai/target/debug/build/thiserror-f1e01e19f7ffccfe/build_script_build-f1e01e19f7ffccfe.pdb
# rust-ai/target/debug/build/thiserror-f1e01e19f7ffccfe/build_script_build.pdb
# rust-ai/target/debug/build/zerocopy-c9c41e065706d9f3/build-script-build.exe
# rust-ai/target/debug/build/zerocopy-c9c41e065706d9f3/build_script_build-c9c41e065706d9f3.exe
# rust-ai/target/debug/build/zerocopy-c9c41e065706d9f3/build_script_build-c9c41e065706d9f3.pdb
# rust-ai/target/debug/build/zerocopy-c9c41e065706d9f3/build_script_build.pdb
# rust-ai/target/debug/build/zmij-bbaef9d295c9b9a4/build-script-build.exe
# rust-ai/target/debug/build/zmij-bbaef9d295c9b9a4/build_script_build-bbaef9d295c9b9a4.exe
# rust-ai/target/debug/build/zmij-bbaef9d295c9b9a4/build_script_build-bbaef9d295c9b9a4.pdb
# rust-ai/target/debug/build/zmij-bbaef9d295c9b9a4/build_script_build.pdb
# rust-ai/target/debug/crm-ai.exe
# rust-ai/target/debug/crm_ai.pdb
# rust-ai/target/debug/deps/async_trait-68aee6d09cf7ad62.dll
# rust-ai/target/debug/deps/async_trait-68aee6d09cf7ad62.dll.exp
# rust-ai/target/debug/deps/async_trait-68aee6d09cf7ad62.pdb
# rust-ai/target/debug/deps/crm_ai.exe
# rust-ai/target/debug/deps/crm_ai.pdb
# rust-ai/target/debug/deps/displaydoc-df5efcb720a2661d.dll
# rust-ai/target/debug/deps/displaydoc-df5efcb720a2661d.dll.exp
# rust-ai/target/debug/deps/displaydoc-df5efcb720a2661d.pdb
# rust-ai/target/debug/deps/rustversion-3bff64c9379d1bfc.dll
# rust-ai/target/debug/deps/rustversion-3bff64c9379d1bfc.dll.exp
# rust-ai/target/debug/deps/rustversion-3bff64c9379d1bfc.pdb
# rust-ai/target/debug/deps/serde_derive-5075d2cdf4f787ec.dll
# rust-ai/target/debug/deps/serde_derive-5075d2cdf4f787ec.dll.exp
# rust-ai/target/debug/deps/serde_derive-5075d2cdf4f787ec.pdb
# rust-ai/target/debug/deps/thiserror_impl-d7f41de49f2cc66d.dll
# rust-ai/target/debug/deps/thiserror_impl-d7f41de49f2cc66d.dll.exp
# rust-ai/target/debug/deps/thiserror_impl-d7f41de49f2cc66d.pdb
# rust-ai/target/debug/deps/tokio_macros-afc286fa0daf0a5b.dll
# rust-ai/target/debug/deps/tokio_macros-afc286fa0daf0a5b.dll.exp
# rust-ai/target/debug/deps/tokio_macros-afc286fa0daf0a5b.pdb
# rust-ai/target/debug/deps/tracing_attributes-c958f756e18a5ca5.dll
# rust-ai/target/debug/deps/tracing_attributes-c958f756e18a5ca5.dll.exp
# rust-ai/target/debug/deps/tracing_attributes-c958f756e18a5ca5.pdb
# rust-ai/target/debug/deps/yoke_derive-1ee9709a84873876.dll
# rust-ai/target/debug/deps/yoke_derive-1ee9709a84873876.dll.exp
# rust-ai/target/debug/deps/yoke_derive-1ee9709a84873876.pdb
# rust-ai/target/debug/deps/zerofrom_derive-84258ff2c2774032.dll
# rust-ai/target/debug/deps/zerofrom_derive-84258ff2c2774032.dll.exp
# rust-ai/target/debug/deps/zerofrom_derive-84258ff2c2774032.pdb
# rust-ai/target/debug/deps/zerovec_derive-ca6ec60ddda5cee1.dll
# rust-ai/target/debug/deps/zerovec_derive-ca6ec60ddda5cee1.dll.exp
# rust-ai/target/debug/deps/zerovec_derive-ca6ec60ddda5cee1.pdb
2026-06-23 10:00:28 +02:00