Added functionality to synchronize access token refresh across multiple tabs using the `navigator.locks` API. This prevents race conditions when refreshing tokens, ensuring that a newer token published by another tab is reused instead of rotating the refresh token unnecessarily. Introduced a new method `refreshAccessTokenAcrossTabs` and updated the `getOrRefreshAccessToken` function to utilize this new method. Enhanced error handling for 401 responses to retry with the latest stored token when applicable.
Added a new configuration file `.oxlintrc.json` to incorporate Oxlint into the project, allowing for improved linting of TypeScript and React code. Updated the linting scripts in `package.json` to run Oxlint alongside ESLint, ensuring a comprehensive linting process. This change enhances code quality and consistency across the codebase.
- Deleted several unused icon components including AddDocumentIcon, ArrowRightIcon, AttachIcon, and others to clean up the codebase.
- Removed the 'arcaptcha-react' package from package.json and next.config.js as it is no longer needed.
- This cleanup helps improve project maintainability and reduces bundle size.