- Added `FirstRefusalThrottleMixin` to various views to prevent a single client from consuming shared throttle limits.
- Introduced new throttles: `MagicLinkIPThrottle`, `MagicLinkGlobalThrottle`, `PortalLoginIPThrottle`, and `PortalLoginOrgThrottle`.
- Updated environment variables in `.env.example` to include new throttle settings.
- Enhanced tests to verify that refused clients do not affect global limits.
- Updated documentation to reflect changes in authentication and throttling behavior.
- Updated the audit log to record the user's IP address and user agent from relayed requests.
- Introduced a new `user_agent` function in `request_meta.py` to handle user agent extraction.
- Modified the `AuditLogger` to utilize the new `user_agent` function.
- Added tests to ensure correct logging of relayed visitor information in `test_audit_log.py`.
- Updated various views and tests to accommodate the new user agent handling, including `public_views.py`, `test_invoices_api.py`, and frontend hooks.
- Enhanced relay headers to include user agent information for better tracking.
- Updated documentation and comments to reflect changes in user agent handling.
- Bump version to 1.10.0+14
- Update http from ^1.1.0 to ^1.6.0
- Update google_sign_in from ^7.1.1 to ^7.2.0
- Update flutter_secure_storage from ^10.3.1 to ^11.2.0
- Update firebase_core from ^4.12.1 to ^4.15.0
- Update firebase_crashlytics from ^5.2.6 to ^5.4.0
- Update go_router from ^17.2.3 to ^18.0.1
- Update flutter_riverpod from ^3.3.1 to ^3.4.3
- Update table_calendar from ^3.2.0 to ^3.2.1
- Update intl from ^0.20.2 to ^0.20.3
- Update url_launcher from ^6.3.1 to ^6.3.2
- Update file_picker from ^11.0.3 to ^13.1.0
- Update google_fonts from ^8.1.0 to ^8.2.1
- Update lucide_icons_flutter from ^3.1.15 to ^3.1.20
- Add cross_file dependency for testing
test: add FakePlatformFile for testing file uploads
- Introduce FakePlatformFile to mock file picker behavior in tests
- Update attachment_upload_test, csv_import_provider_test, support_ticket_test, and csv_import_sheet_test to use FakePlatformFile
- Updated version from 1.13.0 to 1.14.0 in backend/pyproject.toml and backend/uv.lock.
- Added South African Rand (ZAR) to currency options in frontend and mobile applications.
- Refactored currency and country options to use a centralized list in mobile and frontend.
- Added tests to ensure South African Rand and country options are correctly included.
- Updated phone viewport test to check for new text related to SNS topics.
- Enhanced audit log screen tests with new credential events and filters.
- Modified mailbox form sheet tests to handle SNS Topic ARN correctly.
- Introduced new tests for ticket form close date functionality, ensuring correct behavior for optional close dates.
- Added support for organization timezone handling in tests, ensuring accurate date calculations based on user organization.
- Improved unit tests for mailbox and organization date handling, ensuring proper behavior for various scenarios.
- Implemented bulk close date functionality in ticket selection tests, verifying correct behavior for date selection and submission.
- Implement tests for closing tickets via menu and status picker, ensuring correct API interactions and error handling.
- Create tests for calendar feed provider, verifying throttling behavior and success responses.
- Add tests for deal board provider, covering reading and moving deals, including edge cases for card movement and filters.
- Enhance macro tests to validate action parsing and application to tickets, including error handling.
- Introduce session cache tests to ensure proper cleanup on sign-out and validate session-scoped providers.
- Extend web form model tests to cover lead rotation functionality, ensuring correct serialization and defaults.
- Implement tests for ticket approval panel to verify approval request logic and visibility based on user roles.
- Add functionality to handle ticket movement based on server response for both tickets and leads.
- Introduce new tests for duplicate checking API to ensure correct handling of duplicates and merging logic.
- Remove outdated permissions tests that are no longer relevant.
- Update ticket board and lead board providers to include 'can_move' field for better control over ticket actions.
- Refactor existing tests to improve coverage and ensure accurate representation of API responses.
- Removed enableLogs option from Sentry client initialization.
- Added dataCollection settings to Sentry server initialization to prevent sending user info, cookies, and HTTP bodies.
- Updated import path for Sentry SvelteKit in Vite configuration to use the correct module.
- Simplified source maps upload options in Vite configuration.
- Implement tests for `isOrgAdminProvider` to validate admin roles based on organization membership and role.
- Create tests for `saved_views_provider` to ensure correct API interactions for saving, renaming, and deleting saved views.
- Enhance ticket tree tests to accurately reflect inactive and merged ticket handling.
- Update CSV import tests to verify error handling and file saving functionality.
- Introduce tests for deal cards to ensure correct display of next steps and task statuses.