@accounter/client
Version:
Accounter client application
770 lines (684 loc) • 432 kB
Markdown
# @accounter/client
## 0.0.12-alpha-20260411164103-0d3f9f4aa1fdef3dd9e48fa9f85b399cc3f6bf3f
### Patch Changes
- [#3234](https://github.com/Urigo/accounter-fullstack/pull/3234)
[`7dd206b`](https://github.com/Urigo/accounter-fullstack/commit/7dd206b8d1706736bcca241f87c5e288c22b5809)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`react-hook-form@7.72.1` ↗︎](https://www.npmjs.com/package/react-hook-form/v/7.72.1) (from
`7.71.2`, in `dependencies`)
- [#3243](https://github.com/Urigo/accounter-fullstack/pull/3243)
[`cf58692`](https://github.com/Urigo/accounter-fullstack/commit/cf5869226a4551e2cf5969cec0fec3e54c29d844)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@tanstack/react-query@5.96.2` ↗︎](https://www.npmjs.com/package/@tanstack/react-query/v/5.96.2)
(from `5.94.5`, in `dependencies`)
- [#3277](https://github.com/Urigo/accounter-fullstack/pull/3277)
[`a584921`](https://github.com/Urigo/accounter-fullstack/commit/a58492135ab1cac146b0a04885bc968b5c5579e8)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv@17.4.1` ↗︎](https://www.npmjs.com/package/dotenv/v/17.4.1) (from
`17.3.1`, in `dependencies`)
- [#3281](https://github.com/Urigo/accounter-fullstack/pull/3281)
[`917f31e`](https://github.com/Urigo/accounter-fullstack/commit/917f31e956d267704f6d74fb7f3a22d366062135)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@mui/x-charts@8.28.2` ↗︎](https://www.npmjs.com/package/@mui/x-charts/v/8.28.2) (from `8.28.0`,
in `dependencies`)
- [#3291](https://github.com/Urigo/accounter-fullstack/pull/3291)
[`0f1a983`](https://github.com/Urigo/accounter-fullstack/commit/0f1a983134f14b01026daf17b604e5b20ea7e80d)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@mui/material@9.0.0` ↗︎](https://www.npmjs.com/package/@mui/material/v/9.0.0) (from `7.3.9`, in
`dependencies`)
- [#3295](https://github.com/Urigo/accounter-fullstack/pull/3295)
[`73a6623`](https://github.com/Urigo/accounter-fullstack/commit/73a6623d4a16370b289749ffd0ac54e915d46f01)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`lucide-react@1.8.0` ↗︎](https://www.npmjs.com/package/lucide-react/v/1.8.0)
(from `1.7.0`, in `dependencies`)
- [#3296](https://github.com/Urigo/accounter-fullstack/pull/3296)
[`d57236c`](https://github.com/Urigo/accounter-fullstack/commit/d57236cb11c1b2901a09b0291a981e2c468ae980)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@tanstack/react-query@5.97.0` ↗︎](https://www.npmjs.com/package/@tanstack/react-query/v/5.97.0)
(from `5.96.2`, in `dependencies`)
- [#3297](https://github.com/Urigo/accounter-fullstack/pull/3297)
[`82f07c2`](https://github.com/Urigo/accounter-fullstack/commit/82f07c25cd88fbcef8d29ef3d32230cfce168caa)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency [`lucide-react@1.8.0` ↗︎](https://www.npmjs.com/package/lucide-react/v/1.8.0)
(from `1.7.0`, in `dependencies`)
- [#3297](https://github.com/Urigo/accounter-fullstack/pull/3297)
[`82f07c2`](https://github.com/Urigo/accounter-fullstack/commit/82f07c25cd88fbcef8d29ef3d32230cfce168caa)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Developer Authentication Bypass**:
Introduced a new development-only authentication mechanism that allows bypassing Auth0. This
enables developers to impersonate seeded demo users by setting specific environment variables and
passing an `X-Dev-Auth` header.
- **Client-Side Integration**: Modified the client application to conditionally use the new dev
authentication flow, affecting how authentication tokens are provided to URQL and how user
context and protected routes are handled. New environment variables (`VITE_DEV_AUTH`,
`VITE_DEV_AUTH_USER_ID`) were added for client-side configuration.
- **Server-Side Authentication Plugin**: Updated the server's authentication plugin to detect and
prioritize the `X-Dev-Auth` header when the `ALLOW_DEV_AUTH` environment variable is enabled. A
new `handleDevBypassAuth` function was implemented to resolve user context based on the provided
user ID from the dev auth header.
- **Enhanced Demo Data Seeding**: The demo data seeding script (`seed-demo-data.ts`) was updated
to automatically seed deterministic demo users (admin and accountant) and print their IDs. This
facilitates easy setup for local development using the new dev authentication bypass.
- **Documentation Update**: The `demo-staging-guide.md` documentation was updated with clear
instructions on how to set up and use the local development authentication bypass, including
environment variable configuration and role switching.
## 0.0.11
### Patch Changes
- [#2066](https://github.com/Urigo/accounter-fullstack/pull/2066)
[`d4a0f8b`](https://github.com/Urigo/accounter-fullstack/commit/d4a0f8be2ef98dd36f9e9d079736a637149911ab)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@mui/x-charts@8.28.0` ↗︎](https://www.npmjs.com/package/@mui/x-charts/v/8.28.0) (from `7.29.1`,
in `dependencies`)
- [#3034](https://github.com/Urigo/accounter-fullstack/pull/3034)
[`88e8bb9`](https://github.com/Urigo/accounter-fullstack/commit/88e8bb914be1965333e0b899537562c8877782a1)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.28` ↗︎](https://www.npmjs.com/package/zod/v/3.25.28) (from
`3.25.14`, in `dependencies`)
- Updated dependency [`zustand@5.0.5` ↗︎](https://www.npmjs.com/package/zustand/v/5.0.5) (from
`5.0.4`, in `dependencies`)
- [#2233](https://github.com/Urigo/accounter-fullstack/pull/2233)
[`70d6e09`](https://github.com/Urigo/accounter-fullstack/commit/70d6e0930f48ba1dbdda1cbd762a9d0937a521dd)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`recharts@3.8.0` ↗︎](https://www.npmjs.com/package/recharts/v/3.8.0) (from
`2.15.4`, in `dependencies`)
- [#2954](https://github.com/Urigo/accounter-fullstack/pull/2954)
[`79fef66`](https://github.com/Urigo/accounter-fullstack/commit/79fef668ca7a7f2b2411ae5f5d4d0bdc5bb2fa2b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@tanstack/react-query@5.90.20` ↗︎](https://www.npmjs.com/package/@tanstack/react-query/v/5.90.20)
(from `5.90.19`, in `dependencies`)
- Updated dependency
[`html2canvas-pro@1.6.6` ↗︎](https://www.npmjs.com/package/html2canvas-pro/v/1.6.6) (from
`1.6.5`, in `dependencies`)
- Updated dependency [`zod@4.3.6` ↗︎](https://www.npmjs.com/package/zod/v/4.3.6) (from `4.3.5`, in
`dependencies`)
- [#2961](https://github.com/Urigo/accounter-fullstack/pull/2961)
[`ec845a7`](https://github.com/Urigo/accounter-fullstack/commit/ec845a705ca5e1a5992c5899055d18ebe561ae3e)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`lucide-react@0.563.0` ↗︎](https://www.npmjs.com/package/lucide-react/v/0.563.0) (from
`0.562.0`, in `dependencies`)
- [#2963](https://github.com/Urigo/accounter-fullstack/pull/2963)
[`e528d48`](https://github.com/Urigo/accounter-fullstack/commit/e528d48225c7b9bf6b620bcfa970c226a7c4e754)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`react-router-dom@7.13.0` ↗︎](https://www.npmjs.com/package/react-router-dom/v/7.13.0) (from
`7.12.0`, in `dependencies`)
- [#2978](https://github.com/Urigo/accounter-fullstack/pull/2978)
[`8f6d661`](https://github.com/Urigo/accounter-fullstack/commit/8f6d66108bd088388673e7cd53d1c1016d03c762)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`react@19.2.4` ↗︎](https://www.npmjs.com/package/react/v/19.2.4) (from
`19.2.3`, in `dependencies`)
- Updated dependency [`react-dom@19.2.4` ↗︎](https://www.npmjs.com/package/react-dom/v/19.2.4)
(from `19.2.3`, in `dependencies`)
- [#2982](https://github.com/Urigo/accounter-fullstack/pull/2982)
[`859a42a`](https://github.com/Urigo/accounter-fullstack/commit/859a42a4fd67574f9c45d5f721f83e2df93b921e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency [`dotenv@17.2.4` ↗︎](https://www.npmjs.com/package/dotenv/v/17.2.4) (from
`17.2.3`, in `dependencies`)
- Updated dependency
[`react-day-picker@9.13.1` ↗︎](https://www.npmjs.com/package/react-day-picker/v/9.13.1) (from
`9.13.0`, in `dependencies`)
- [#2988](https://github.com/Urigo/accounter-fullstack/pull/2988)
[`3c2df4f`](https://github.com/Urigo/accounter-fullstack/commit/3c2df4f4cb79ec90fc5cfe372f7cede5e56f27e7)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pdfjs-dist@5.4.624` ↗︎](https://www.npmjs.com/package/pdfjs-dist/v/5.4.624)
(from `5.4.530`, in `dependencies`)
- Updated dependency [`zustand@5.0.11` ↗︎](https://www.npmjs.com/package/zustand/v/5.0.11) (from
`5.0.10`, in `dependencies`)
- [#2995](https://github.com/Urigo/accounter-fullstack/pull/2995)
[`48b4897`](https://github.com/Urigo/accounter-fullstack/commit/48b48977e7bd74a58b49e984ca2d1a257614890a)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`react-to-pdf@3.1.0` ↗︎](https://www.npmjs.com/package/react-to-pdf/v/3.1.0)
(from `3.0.0`, in `dependencies`)
- [#2999](https://github.com/Urigo/accounter-fullstack/pull/2999)
[`1f9675e`](https://github.com/Urigo/accounter-fullstack/commit/1f9675e5ae7e516770b7a052a79bbcfcd758b748)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency [`pdfjs-dist@5.4.624` ↗︎](https://www.npmjs.com/package/pdfjs-dist/v/5.4.624)
(from `5.4.530`, in `dependencies`)
- Updated dependency [`zustand@5.0.11` ↗︎](https://www.npmjs.com/package/zustand/v/5.0.11) (from
`5.0.10`, in `dependencies`)
- [#3025](https://github.com/Urigo/accounter-fullstack/pull/3025)
[`0b5b2ea`](https://github.com/Urigo/accounter-fullstack/commit/0b5b2ea65abe31286a97615a46cad149da72f235)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv@17.2.4` ↗︎](https://www.npmjs.com/package/dotenv/v/17.2.4) (from
`17.2.3`, in `dependencies`)
- Updated dependency
[`react-day-picker@9.13.1` ↗︎](https://www.npmjs.com/package/react-day-picker/v/9.13.1) (from
`9.13.0`, in `dependencies`)
- [#3031](https://github.com/Urigo/accounter-fullstack/pull/3031)
[`211446a`](https://github.com/Urigo/accounter-fullstack/commit/211446a6757b501d71131f2b4689bcefcf46d580)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`react-day-picker@9.13.2` ↗︎](https://www.npmjs.com/package/react-day-picker/v/9.13.2) (from
`9.13.1`, in `dependencies`)
- [#3034](https://github.com/Urigo/accounter-fullstack/pull/3034)
[`88e8bb9`](https://github.com/Urigo/accounter-fullstack/commit/88e8bb914be1965333e0b899537562c8877782a1)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@mui/material@7.3.8` ↗︎](https://www.npmjs.com/package/@mui/material/v/7.3.8) (from `7.3.7`, in
`dependencies`)
- Updated dependency
[`@tanstack/react-query@5.90.21` ↗︎](https://www.npmjs.com/package/@tanstack/react-query/v/5.90.21)
(from `5.90.20`, in `dependencies`)
- Updated dependency
[`html2canvas-pro@1.6.7` ↗︎](https://www.npmjs.com/package/html2canvas-pro/v/1.6.7) (from
`1.6.6`, in `dependencies`)
- Updated dependency
[`react-error-boundary@6.1.1` ↗︎](https://www.npmjs.com/package/react-error-boundary/v/6.1.1)
(from `6.1.0`, in `dependencies`)
- Updated dependency
[`tailwind-merge@3.4.1` ↗︎](https://www.npmjs.com/package/tailwind-merge/v/3.4.1) (from `3.4.0`,
in `dependencies`)
- [#3041](https://github.com/Urigo/accounter-fullstack/pull/3041)
[`352ee1b`](https://github.com/Urigo/accounter-fullstack/commit/352ee1b16018745057219979280d49a86e645d4c)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv@17.3.1` ↗︎](https://www.npmjs.com/package/dotenv/v/17.3.1) (from
`17.2.4`, in `dependencies`)
- [#3042](https://github.com/Urigo/accounter-fullstack/pull/3042)
[`6258a07`](https://github.com/Urigo/accounter-fullstack/commit/6258a07f6997717f5fe6a5ed41928ecd8ed45118)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`lucide-react@0.564.0` ↗︎](https://www.npmjs.com/package/lucide-react/v/0.564.0) (from
`0.563.0`, in `dependencies`)
- [#3066](https://github.com/Urigo/accounter-fullstack/pull/3066)
[`560aaa4`](https://github.com/Urigo/accounter-fullstack/commit/560aaa4e320f71cc9a721945d3ead070c4b5cfed)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`react-hook-form@7.71.2` ↗︎](https://www.npmjs.com/package/react-hook-form/v/7.71.2) (from
`7.71.1`, in `dependencies`)
- [#3070](https://github.com/Urigo/accounter-fullstack/pull/3070)
[`26d8e49`](https://github.com/Urigo/accounter-fullstack/commit/26d8e496ac9a3e24bf3275548e5bc71b2bf2915f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`lucide-react@0.566.0` ↗︎](https://www.npmjs.com/package/lucide-react/v/0.566.0) (from
`0.564.0`, in `dependencies`)
- [#3074](https://github.com/Urigo/accounter-fullstack/pull/3074)
[`68b6d18`](https://github.com/Urigo/accounter-fullstack/commit/68b6d18f14f27d702f9669602c7964f1dffda3e4)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`lucide-react@0.574.0` ↗︎](https://www.npmjs.com/package/lucide-react/v/0.574.0) (from
`0.566.0`, in `dependencies`)
- [#3087](https://github.com/Urigo/accounter-fullstack/pull/3087)
[`3f09f1a`](https://github.com/Urigo/accounter-fullstack/commit/3f09f1a37c680c2c83906022739807e6544a6be8)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`tailwind-merge@3.5.0` ↗︎](https://www.npmjs.com/package/tailwind-merge/v/3.5.0) (from `3.4.1`,
in `dependencies`)
- [#3089](https://github.com/Urigo/accounter-fullstack/pull/3089)
[`acd3d75`](https://github.com/Urigo/accounter-fullstack/commit/acd3d75db4ac8c7c13fc3919f1988ebaccfa7a35)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`lucide-react@0.575.0` ↗︎](https://www.npmjs.com/package/lucide-react/v/0.575.0) (from
`0.574.0`, in `dependencies`)
- [#3094](https://github.com/Urigo/accounter-fullstack/pull/3094)
[`83e65c7`](https://github.com/Urigo/accounter-fullstack/commit/83e65c7d3f9818e854555d654e606a2e6b2f1e46)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`react-to-pdf@3.2.1` ↗︎](https://www.npmjs.com/package/react-to-pdf/v/3.2.1)
(from `3.1.0`, in `dependencies`)
- [#3095](https://github.com/Urigo/accounter-fullstack/pull/3095)
[`0abf19f`](https://github.com/Urigo/accounter-fullstack/commit/0abf19f2c05113eb3f24ae24e00cfe2bb1b364d6)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`html2canvas-pro@2.0.2` ↗︎](https://www.npmjs.com/package/html2canvas-pro/v/2.0.2) (from
`1.6.7`, in `dependencies`)
- [#3113](https://github.com/Urigo/accounter-fullstack/pull/3113)
[`49fa797`](https://github.com/Urigo/accounter-fullstack/commit/49fa7976ee4078e86d935d77b14914c94ea45234)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`react-router-dom@7.13.1` ↗︎](https://www.npmjs.com/package/react-router-dom/v/7.13.1) (from
`7.13.0`, in `dependencies`)
- [#3114](https://github.com/Urigo/accounter-fullstack/pull/3114)
[`84f9e20`](https://github.com/Urigo/accounter-fullstack/commit/84f9e203c696c8b76a7cef2128547e8cde7559f0)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`react-router-dom@7.13.1` ↗︎](https://www.npmjs.com/package/react-router-dom/v/7.13.1) (from
`7.13.0`, in `dependencies`)
- [#3121](https://github.com/Urigo/accounter-fullstack/pull/3121)
[`992e2ed`](https://github.com/Urigo/accounter-fullstack/commit/992e2edb1507dcb64ccf07b24b7b850fe6fe815b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`graphql@16.13.0` ↗︎](https://www.npmjs.com/package/graphql/v/16.13.0) (from
`16.12.0`, in `dependencies`)
- [#3138](https://github.com/Urigo/accounter-fullstack/pull/3138)
[`93e5f5a`](https://github.com/Urigo/accounter-fullstack/commit/93e5f5a253d525c849eb888eb3596bf407972ba4)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`react-day-picker@9.14.0` ↗︎](https://www.npmjs.com/package/react-day-picker/v/9.14.0) (from
`9.13.2`, in `dependencies`)
- [#3145](https://github.com/Urigo/accounter-fullstack/pull/3145)
[`3d07cf4`](https://github.com/Urigo/accounter-fullstack/commit/3d07cf41635eb0c55e8082fd3282c1249368af01)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pdfjs-dist@5.5.207` ↗︎](https://www.npmjs.com/package/pdfjs-dist/v/5.5.207)
(from `5.4.624`, in `dependencies`)
- [#3147](https://github.com/Urigo/accounter-fullstack/pull/3147)
[`f540bbb`](https://github.com/Urigo/accounter-fullstack/commit/f540bbbbe279e4d7028b4ee6fc8e4cc7d239f8af)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`lucide-react@0.576.0` ↗︎](https://www.npmjs.com/package/lucide-react/v/0.576.0) (from
`0.575.0`, in `dependencies`)
- [#3157](https://github.com/Urigo/accounter-fullstack/pull/3157)
[`9a8873e`](https://github.com/Urigo/accounter-fullstack/commit/9a8873e55f27cba92356be7ac5ea17938c56f3b9)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`lucide-react@0.577.0` ↗︎](https://www.npmjs.com/package/lucide-react/v/0.577.0) (from
`0.576.0`, in `dependencies`)
- [#3166](https://github.com/Urigo/accounter-fullstack/pull/3166)
[`26474f3`](https://github.com/Urigo/accounter-fullstack/commit/26474f32495cc9fe028476840bd3d15fee8b5143)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@mui/material@7.3.9` ↗︎](https://www.npmjs.com/package/@mui/material/v/7.3.9) (from `7.3.8`, in
`dependencies`)
- Updated dependency [`dayjs@1.11.20` ↗︎](https://www.npmjs.com/package/dayjs/v/1.11.20) (from
`1.11.19`, in `dependencies`)
- Updated dependency [`graphql@16.13.1` ↗︎](https://www.npmjs.com/package/graphql/v/16.13.1) (from
`16.13.0`, in `dependencies`)
- [#3170](https://github.com/Urigo/accounter-fullstack/pull/3170)
[`376a3a5`](https://github.com/Urigo/accounter-fullstack/commit/376a3a5a9fc8b3ff6b7ca28f3de04365109a9bb6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency
[`@auth0/auth0-react@2.15.0` ↗︎](https://www.npmjs.com/package/@auth0/auth0-react/v/2.15.0) (to
`dependencies`)
- [#3170](https://github.com/Urigo/accounter-fullstack/pull/3170)
[`376a3a5`](https://github.com/Urigo/accounter-fullstack/commit/376a3a5a9fc8b3ff6b7ca28f3de04365109a9bb6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency
[`@auth0/auth0-react@2.15.0` ↗︎](https://www.npmjs.com/package/@auth0/auth0-react/v/2.15.0) (to
`dependencies`)
- [#3207](https://github.com/Urigo/accounter-fullstack/pull/3207)
[`556b274`](https://github.com/Urigo/accounter-fullstack/commit/556b274ac6f4ed6481c22646505d86ff4760e5a6)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@auth0/auth0-react@2.15.1` ↗︎](https://www.npmjs.com/package/@auth0/auth0-react/v/2.15.1) (from
`2.15.0`, in `dependencies`)
- [#3212](https://github.com/Urigo/accounter-fullstack/pull/3212)
[`95c4343`](https://github.com/Urigo/accounter-fullstack/commit/95c43430ce5ee3dc29e9f36b0c4453b7dfe2b989)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency [`radix-ui@1.4.3` ↗︎](https://www.npmjs.com/package/radix-ui/v/1.4.3) (to
`dependencies`)
- Removed dependency
[`@radix-ui/react-accordion@1.2.12` ↗︎](https://www.npmjs.com/package/@radix-ui/react-accordion/v/1.2.12)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-avatar@1.1.11` ↗︎](https://www.npmjs.com/package/@radix-ui/react-avatar/v/1.1.11)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-checkbox@1.3.3` ↗︎](https://www.npmjs.com/package/@radix-ui/react-checkbox/v/1.3.3)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-collapsible@1.1.12` ↗︎](https://www.npmjs.com/package/@radix-ui/react-collapsible/v/1.1.12)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-dialog@1.1.15` ↗︎](https://www.npmjs.com/package/@radix-ui/react-dialog/v/1.1.15)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-dropdown-menu@2.1.16` ↗︎](https://www.npmjs.com/package/@radix-ui/react-dropdown-menu/v/2.1.16)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-icons@1.3.2` ↗︎](https://www.npmjs.com/package/@radix-ui/react-icons/v/1.3.2)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-label@2.1.8` ↗︎](https://www.npmjs.com/package/@radix-ui/react-label/v/2.1.8)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-popover@1.1.15` ↗︎](https://www.npmjs.com/package/@radix-ui/react-popover/v/1.1.15)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-progress@^1.1.7` ↗︎](https://www.npmjs.com/package/@radix-ui/react-progress/v/1.1.7)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-scroll-area@1.2.10` ↗︎](https://www.npmjs.com/package/@radix-ui/react-scroll-area/v/1.2.10)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-select@2.2.6` ↗︎](https://www.npmjs.com/package/@radix-ui/react-select/v/2.2.6)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-separator@1.1.8` ↗︎](https://www.npmjs.com/package/@radix-ui/react-separator/v/1.1.8)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-slot@1.2.4` ↗︎](https://www.npmjs.com/package/@radix-ui/react-slot/v/1.2.4)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-switch@1.2.6` ↗︎](https://www.npmjs.com/package/@radix-ui/react-switch/v/1.2.6)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-tabs@1.1.13` ↗︎](https://www.npmjs.com/package/@radix-ui/react-tabs/v/1.1.13)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-toggle@1.1.10` ↗︎](https://www.npmjs.com/package/@radix-ui/react-toggle/v/1.1.10)
(from `dependencies`)
- Removed dependency
[`@radix-ui/react-tooltip@1.2.8` ↗︎](https://www.npmjs.com/package/@radix-ui/react-tooltip/v/1.2.8)
(from `dependencies`)
- [#3214](https://github.com/Urigo/accounter-fullstack/pull/3214)
[`69a150b`](https://github.com/Urigo/accounter-fullstack/commit/69a150bcb25903593316b4c9d3f344b428585a72)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`csv-parse@6.2.1` ↗︎](https://www.npmjs.com/package/csv-parse/v/6.2.1) (from
`6.2.0`, in `dependencies`)
- Updated dependency
[`react-number-format@5.4.5` ↗︎](https://www.npmjs.com/package/react-number-format/v/5.4.5) (from
`5.4.4`, in `dependencies`)
- Updated dependency [`react-to-pdf@3.2.2` ↗︎](https://www.npmjs.com/package/react-to-pdf/v/3.2.2)
(from `3.2.1`, in `dependencies`)
- Updated dependency [`zustand@5.0.12` ↗︎](https://www.npmjs.com/package/zustand/v/5.0.12) (from
`5.0.11`, in `dependencies`)
- [#3224](https://github.com/Urigo/accounter-fullstack/pull/3224)
[`93aebdf`](https://github.com/Urigo/accounter-fullstack/commit/93aebdf329f957e1a1a90783e27a5b3f171691c7)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`csv-parse@6.2.0` ↗︎](https://www.npmjs.com/package/csv-parse/v/6.2.0) (from
`6.1.0`, in `dependencies`)
- [#3226](https://github.com/Urigo/accounter-fullstack/pull/3226)
[`be0a48e`](https://github.com/Urigo/accounter-fullstack/commit/be0a48ee0e288b129b940a4ce5bc0c8a7d6d0dd5)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@tanstack/react-query@5.91.0` ↗︎](https://www.npmjs.com/package/@tanstack/react-query/v/5.91.0)
(from `5.90.21`, in `dependencies`)
- [#3233](https://github.com/Urigo/accounter-fullstack/pull/3233)
[`0c4035d`](https://github.com/Urigo/accounter-fullstack/commit/0c4035d223b941117ba7df6ea08a3be9ec028719)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@tanstack/react-query@5.94.5` ↗︎](https://www.npmjs.com/package/@tanstack/react-query/v/5.94.5)
(from `5.91.0`, in `dependencies`)
- [#3246](https://github.com/Urigo/accounter-fullstack/pull/3246)
[`cb0dbc5`](https://github.com/Urigo/accounter-fullstack/commit/cb0dbc518e8f31a0e69180d83c444658a6ca019e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency [`csv-parse@6.2.1` ↗︎](https://www.npmjs.com/package/csv-parse/v/6.2.1) (from
`6.2.0`, in `dependencies`)
- Updated dependency
[`react-number-format@5.4.5` ↗︎](https://www.npmjs.com/package/react-number-format/v/5.4.5) (from
`5.4.4`, in `dependencies`)
- Updated dependency [`react-to-pdf@3.2.2` ↗︎](https://www.npmjs.com/package/react-to-pdf/v/3.2.2)
(from `3.2.1`, in `dependencies`)
- Updated dependency [`zustand@5.0.12` ↗︎](https://www.npmjs.com/package/zustand/v/5.0.12) (from
`5.0.11`, in `dependencies`)
- [#3247](https://github.com/Urigo/accounter-fullstack/pull/3247)
[`43dab70`](https://github.com/Urigo/accounter-fullstack/commit/43dab70e682bd96b4e7c252a2bbda94df8f0e0ba)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`graphql@16.13.2` ↗︎](https://www.npmjs.com/package/graphql/v/16.13.2) (from
`16.13.1`, in `dependencies`)
- Updated dependency
[`react-router-dom@7.13.2` ↗︎](https://www.npmjs.com/package/react-router-dom/v/7.13.2) (from
`7.13.1`, in `dependencies`)
- Updated dependency [`recharts@3.8.1` ↗︎](https://www.npmjs.com/package/recharts/v/3.8.1) (from
`3.8.0`, in `dependencies`)
- [#3248](https://github.com/Urigo/accounter-fullstack/pull/3248)
[`66d3eae`](https://github.com/Urigo/accounter-fullstack/commit/66d3eae136b258a32cf4f46b524658b3a88610dc)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`lucide-react@1.0.1` ↗︎](https://www.npmjs.com/package/lucide-react/v/1.0.1)
(from `0.577.0`, in `dependencies`)
- [#3252](https://github.com/Urigo/accounter-fullstack/pull/3252)
[`0bdd19a`](https://github.com/Urigo/accounter-fullstack/commit/0bdd19a322d252be5882e1bd74dc0ba8cd95971b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`lucide-react@1.7.0` ↗︎](https://www.npmjs.com/package/lucide-react/v/1.7.0)
(from `1.0.1`, in `dependencies`)
- [#3254](https://github.com/Urigo/accounter-fullstack/pull/3254)
[`562f8b6`](https://github.com/Urigo/accounter-fullstack/commit/562f8b69bfdefb93b1982ac76dc7180495f0d558)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@auth0/auth0-react@2.16.0` ↗︎](https://www.npmjs.com/package/@auth0/auth0-react/v/2.16.0) (from
`2.15.1`, in `dependencies`)
- [#3266](https://github.com/Urigo/accounter-fullstack/pull/3266)
[`476ac46`](https://github.com/Urigo/accounter-fullstack/commit/476ac46f996e08be22de166d1f09b63a4089f4e4)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pdfjs-dist@5.6.205` ↗︎](https://www.npmjs.com/package/pdfjs-dist/v/5.6.205)
(from `5.5.207`, in `dependencies`)
- [#3271](https://github.com/Urigo/accounter-fullstack/pull/3271)
[`6379cfe`](https://github.com/Urigo/accounter-fullstack/commit/6379cfe6029fa10907096f7a49a5869b6d46ecc8)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@auth0/auth0-react@2.16.1` ↗︎](https://www.npmjs.com/package/@auth0/auth0-react/v/2.16.1) (from
`2.16.0`, in `dependencies`)
- [#3278](https://github.com/Urigo/accounter-fullstack/pull/3278)
[`43a6cbd`](https://github.com/Urigo/accounter-fullstack/commit/43a6cbd620ba0b3cd5e00f6d2357439dd17c1aa9)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`react-router-dom@7.14.0` ↗︎](https://www.npmjs.com/package/react-router-dom/v/7.14.0) (from
`7.13.2`, in `dependencies`)
- [#3073](https://github.com/Urigo/accounter-fullstack/pull/3073)
[`ba24801`](https://github.com/Urigo/accounter-fullstack/commit/ba24801ea67f67df5c1f80e952f661c5969468a9)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Component Structure**: Reordered the
`Button` and `Tooltip` components within the `CloseDocumentButton` to ensure correct rendering and
interaction.
- **Clickability Fix**: Resolved an issue where the 'Close Document' button was unclickable by
adjusting the nesting of the `Button` inside the `Tooltip`.
- [#3000](https://github.com/Urigo/accounter-fullstack/pull/3000)
[`653f97c`](https://github.com/Urigo/accounter-fullstack/commit/653f97cb5ed3a4d420023d22494452ac3e80b1ec)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Account Filtering for Balance Report**:
The 'Transactions Balance' report now supports filtering by financial accounts, allowing users to
include or exclude specific accounts from the report.
- **Frontend UI Enhancements**: The balance report filter form has been updated with new account
selection fields, improved form validation using Zod, and UI component adjustments for better
responsiveness.
- **Backend GraphQL Integration**: The GraphQL schema and resolvers have been extended to include
financial account data for transactions and to support the new account-based filtering logic.
- **Reusable Account Fetching Logic**: A new helper function and a client-side hook were
introduced to centralize and streamline the fetching and management of financial account data.
- [#3003](https://github.com/Urigo/accounter-fullstack/pull/3003)
[`7809f6d`](https://github.com/Urigo/accounter-fullstack/commit/7809f6dc1a16373a205d76bdc2458d6132785e2c)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Swift Code Integration**: This PR
introduces the 'swiftCode' field to financial bank accounts, enhancing the system's ability to
manage international banking details.
- **Schema and UI Updates**: The changes include updates to the financial account schema, UI
components, and database migrations to accommodate the new 'swiftCode' field.
- **Database Migration**: A new migration script is added to update the 'financial_bank_accounts'
table with a 'swift_code' column.
- [#3263](https://github.com/Urigo/accounter-fullstack/pull/3263)
[`09a001c`](https://github.com/Urigo/accounter-fullstack/commit/09a001c5520a784d2e13a3813d76ea8d32e84b50)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **URL-based Year Navigation**: Migrated
the annual audit flow to use URL parameters for the year, enabling direct navigation and
bookmarking of specific audit years.
- **UI Component Refactoring**: Replaced the modal-based filter system with a dedicated YearPicker
component and streamlined the audit flow layout.
- **Step Status Logic**: Implemented automated status calculation for step 7 based on the
completion of preceding steps (1 and 2) and added smooth scrolling navigation.
- **Data Formatting**: Updated percentage displays in the charges validation step to include two
decimal places for better precision.
- [#3071](https://github.com/Urigo/accounter-fullstack/pull/3071)
[`77b31c8`](https://github.com/Urigo/accounter-fullstack/commit/77b31c84714cf92a15f280df00ddb6fbd403d661)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Form Initialization Refactor**: The
`defaultValues` for the `useForm` hook in the `EditCharge` component have been refactored to
explicitly map properties from the `charge` object to the `UpdateChargeInput` type. This prevents
unknown attributes from being passed to the form manager.
- **Explicit Input Data Definition**: A new `chargeInputData` variable, memoized with `useMemo`,
was introduced to clearly define the structure of the data used for form initialization,
ensuring only expected fields are included.
- **Default Value Updates**: All form field `defaultValue` props within the `EditCharge` component
were updated to reference the newly created `chargeInputData` object, ensuring consistency with
the refactored form initialization.
- [#3202](https://github.com/Urigo/accounter-fullstack/pull/3202)
[`cf98582`](https://github.com/Urigo/accounter-fullstack/commit/cf9858233b3201a9dbbc4c603a64888dd863b4d1)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Auth0 Configuration Documentation**:
Updated `auth0-setup.md` to include detailed requirements for refresh token rotation,
`offline_access` scope, and a comprehensive troubleshooting guide for token renewal failures.
- **Enhanced URQL Auth Exchange**: Refactored the client-side URQL authentication exchange to
manage access tokens more effectively, including silent renewal, handling `UNAUTHENTICATED`
GraphQL errors, and preventing redirect loops during reauthentication.
- **Improved Reauthentication Flow**: Modified the login page to detect session expiry (`reauth=1`
query parameter) and display an appropriate message, while also ensuring that
`loginWithRedirect` requests the `offline_access` scope and prompts for re-login when necessary.
- [#3064](https://github.com/Urigo/accounter-fullstack/pull/3064)
[`6d31136`](https://github.com/Urigo/accounter-fullstack/commit/6d31136abbd7949a217e84f92a3ea9eab5988cc3)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New `onClose` Prop**: Introduced an
`onClose` prop to the `GenerateDocument` component to allow external control over its closure.
- **Automated Dialog Closure**: Implemented logic to automatically call the `onClose` prop when a
document is successfully issued, ensuring related dialogs close as expected.
- [#3072](https://github.com/Urigo/accounter-fullstack/pull/3072)
[`1b54fbd`](https://github.com/Urigo/accounter-fullstack/commit/1b54fbd83e0c2c9ed829b8fca2da2b879da0138d)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - The `modify-financial-account-dialog.tsx`
component has been updated to use a simplified `taxCategoryId` in its schema, replacing a nested
`taxCategory` object.
- A new helper function, `convertToFinancialAccountForm`, was added to correctly map financial
account data to the form's structure, ensuring proper handling of `taxCategory.id` to
`taxCategoryId` conversion during editing.
- The `useGetTaxCategories` hook is now integrated to fetch available tax categories, which are
then presented to the user via a `ComboBox` component for selection, improving user experience
and data validation.
- [#3212](https://github.com/Urigo/accounter-fullstack/pull/3212)
[`95c4343`](https://github.com/Urigo/accounter-fullstack/commit/95c43430ce5ee3dc29e9f36b0c4453b7dfe2b989)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Dependency Consolidation**: Replaced
numerous individual `@radix-ui/react-*` packages with a single `radix-ui` package in
`package.json` and `yarn.lock`. Updated import statements across various UI component files to use
the consolidated `radix-ui` package instead of individual `@radix-ui/react-*` imports.
- [#3218](https://github.com/Urigo/accounter-fullstack/pull/3218)
[`8c049ac`](https://github.com/Urigo/accounter-fullstack/commit/8c049ac8cfa2d55d80d2539868dac2df8e018f3e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Introduced Annual Audit Flow UI**: A
new, comprehensive 'Annual Audit Flow' user interface has been added, providing a structured,
multi-step process for managing yearly financial operations and compliance. This includes a
progress overview, filtering capabilities, and dedicated steps for various audit tasks.
- **New GraphQL API Endpoints for Audit Operations**: New GraphQL queries and mutations were
implemented on the server-side to support the annual audit flow, including fetching accountant
approval status for charges, retrieving annual financial charges, and locking ledger records.
- **Enhanced Confirmation Modal and New Hooks**: The `ConfirmationModal` component was enhanced to
allow external control of its open state, and new React hooks (`useGenerateFinancialCharge`,
`useLedgerLock`) were introduced to streamline financial charge generation and ledger locking
operations with integrated toast notifications.
- **Updated Navigation and Routing**: The application's sidebar navigation and routing
configuration were updated to include the new 'Workflows' section and the 'Annual Audit' page,
making the new feature accessible.
- [#3038](https://github.com/Urigo/accounter-fullstack/pull/3038)
[`4d4e60d`](https://github.com/Urigo/accounter-fullstack/commit/4d4e60dd85f6c7779c556b513e2de844615dd293)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Configurable NPM Registry in CI**: The
GitHub Actions setup now includes a `registryUrl` input, allowing for flexible specification of
the NPM registry during package publishing.
- **Deterministic Dependency Installation**: The `yarn install` command in the CI workflow was
updated to use `--frozen-lockfile`, ensuring consistent and reproducible builds by preventing
modifications to the `yarn.lock` file.
- **Standardized Package Metadata**: `package.json` files across several packages were updated to
include comprehensive and consistent metadata, such as `description`, `repository` details,
`homepage`, `bugs` URL, and `author` information.
- **Explicit NPM Registry Configuration**: The `publishConfig` in multiple `package.json` files
was modified to explicitly set the `registry` to `https://registry.npmjs.org`, clarifying the
target for package publication.
- [#3210](https://github.com/Urigo/accounter-fullstack/pull/3210)
[`b34befb`](https://github.com/Urigo/accounter-fullstack/commit/b34befba8ff2a70823ef27f3da339460e8b20fae)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - Replaces the flat tags list with a
collapsible hierarchical tree view, search input, and edit/delete dialogs
- Adds new shared UI components: `Spinner`, `InputGroup`, `Field`, `Empty`, `AlertDialog`
- Updates the `addTag` mutation to support a `parentTag` parameter and fixes tag description
display in combo-box/multi-select
- [#3079](https://github.com/Urigo/accounter-fullstack/pull/3079)
[`5b2f4ac`](https://github.com/Urigo/accounter-fullstack/commit/5b2f4acd65af85cdf39ceebb12978720a955f4bb)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Charge Merging Functionality**:
Introduced the ability to select and merge charges directly from the Business screen's charges
tab, enhancing charge management capabilities.
- [#3030](https://github.com/Urigo/accounter-fullstack/pull/3030)
[`767bca6`](https://github.com/Urigo/accounter-fullstack/commit/767bca6a2080c2876766f4eb0f147e026450665b)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Period Summary Component**: A new
component, `PeriodSummary`, has been introduced to display a detailed financial summary for each
period, including income, expense, delta, and cumulative balance.
- **Multi-Currency Delta Breakdown**: The `PeriodSummary` component now provides a breakdown of
the delta by individual currencies, offering more granular insights into financial movements.
- [#2975](https://github.com/Urigo/accounter-fullstack/pull/2975)
[`4b37fc8`](https://github.com/Urigo/accounter-fullstack/commit/4b37fc85d294571c0a209901e64f7b4a1c7dc5ab)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **GraphQL Schema Update**: The 'zip'
field in the 'ClientInput' GraphQL type has been renamed to 'zipCode' for better clarity and
consistency across the system.
- **Green Invoice Client Data Mapping**: The logic for converting local client data to Green
Invoice client input has been updated to correctly use 'city' and 'zip_code' from local business
data and to ensure all client details are sourced from the initial input, resolving potential
data discrepancies.
- **UI Event Propagation Prevention**: The 'stopPropagation' method has been added to key UI
elements in document generation and preview modals to prevent unintended click event bubbling,
improving user interaction and preventing unexpected behavior.
- **UI Text Refinement**: A dialog title in the merge charges component has been updated from
'Issue New Document' to 'Merge Charges' for improved clarity and accuracy.
- [#3202](https://github.com/Urigo/accounter-fullstack/pull/3202)
[`cf98582`](https://github.com/Urigo/accounter-fullstack/commit/cf9858233b3201a9dbbc4c603a64888dd863b4d1)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Enhanced Error Handling**: Improved
error handling in the authentication callback page to provide a better user experience.
- **Network Error Retries**: Implemented retry logic for transient network errors during
authentication callback.
- **User-Friendly Error Messages**: Added user-friendly error messages for common authentication
issues.
- [#3238](https://github.com/Urigo/accounter-fullstack/pull/3238)
[`e91dd94`](https://github.com/Urigo/accounter-fullstack/commit/e91dd941bbaba5d5d89a234bd7cad9f03b059292)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Step 04 Financial Charges**: This PR
introduces the `Step04FinancialCharges` component, enabling the generation of various financial
charges and reserves within the annual audit process. the new component into the
`AnnualAuditFlow`, making it a functional part of the audit workflow.
- [#3174](https://github.com/Urigo/accounter-fullstack/pull/3174)
[`b7621b3`](https://github.com/Urigo/accounter-fullstack/commit/b7621b343dd8e49a24903e2f42f56589f76d7892)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Authentication Component Renaming**:
Renamed core authentication files and classes, including `AuthContextV2Provider` to
`AuthContextProvider` and `authPluginV2` to `authPlugin`, removing the 'V2' suffix to signify
their stable status.
- [#3270](https://github.com/Urigo/accounter-fullstack/pull/3270)
[`1815013`](https://github.com/Urigo/accounter-fullstack/commit/181501367c4dbdeb0010296e7d418af955f4e75e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Environment Variable Cleanup**: Removed
hardcoded and auto-generated environment variables like DEFAULT_FINANCIAL_ENTITY_ID and Gmail
credentials from the main configuration, promoting a cleaner and more secure setup.
- **Configuration Loading Improvements**: Updated various packages to support loading environment
variables from both local and parent directory files, improving flexibility across different
environments.
- [#3202](https://github.com/Urigo/accounter-fullstack/pull/3202)
[`cf98582`](https://github.com/Urigo/accounter-fullstack/commit/cf9858233b3201a9dbbc4c603a64888dd863b4d1)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - Rename `RequireAuthGuard` to
`ProtectedRoute` and update route config usage.
- Preserve attempted path via `returnTo` state and use it in `LoginPage` redirect + Auth0
`appState`.
- Add a `ProtectedRoute` unit test running under `jsdom` and add `jsdom`/`@types/jsdom` dev
dependencies.
- [#3170](https://github.com/Urigo/accounter-fullstack/pull/3170)
[`376a3a5`](https://github.com/Urigo/accounter-fullstack/commit/376a3a5a9fc8b3ff6b7ca28f3de04365109a9bb6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Backend Authentication Refactoring**:
Transitioned the backend's dependency injection pattern from `AUTH_CONTEXT` injection tokens to
direct provider injection for `AuthContextProvider` and `AdminContextProvider` to handle
asynchronous context loading more effectively.
- **Frontend Auth0 Integration**: Implemented Auth0 login on the client-side, including a new
dedicated callback page and modifications to the existing login page to support a dual
authentication mechanism during the transition period.
- **Enhanced Row-Level Security (RLS) Enforcement**: Modified the `TenantAwareDBClient` to
exclusively rely on the `AuthContextProvider` for RLS variables, removing temporary fallbacks to
legacy user context.
- [#3067](https://github.com/Urigo/accounter-fullstack/pull/3067)
[`fbfad66`](https://github.com/Urigo/accounter-fullstack/commit/fbfad66dae7876e2d6f0e7c064a11304d9768892)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Frontend Enhancement**: Implemented a
new free text search input field within the charges filter user interface, allowing users to
search for charges using keywords.
- **Database Schema Update**: Introduced a database migration to enhance the `extended_charges`
view with a `merged_search_text` column, which concatenates various textual fields (user
descriptions, transaction details, document information) for comprehensive search capabilities.
- **API and Backend Integration**: Extended the GraphQL schema to support a `freeText` filter for
charges and integrated this filter into the backend charges provider, utilizing the new
`merged_search_text` column for efficient filtering.
- [#2999](https://github.com/Urigo/accounter-fullstack/pull/2999)
[`1f9675e`](https://github.com/Urigo/accounter-fullstack/commit/1f9675e5ae7e516770b7a052a79bbcfcd758b748)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Charge Editing Flow**: The
`EditChargeModal` now correctly closes itself and triggers the `onChange` callback when an edit
operation is completed, improving the user experience for charge modifications.
- **UI Layering Fix**: A `zIndex` property has been added to the 'Year of relevance' date picker
within the `ChargeSpreadInput` to ensure its popover renders above other UI elements, preventing
display issues.
- **Similar Charges Modal Logic**: The `SimilarChargesByIdModal` now includes logic to
automatically close if it's opened without any valid search criteria (i.e., `tagIds` or
`description`), preventing an empty or irrelevant modal from appearing.
- **Drawer Interaction**: An `onClick` event handler with `stopPropagation()` has been added to
the `DrawerContent` component to prevent clicks within the drawer from propagating to underlying
elements, enhancing interaction isolation.
- [#3205](https://github.com/Urigo/accounter-fullstack/pull/3205)
[`3eb28e0`](https://github.com/Urigo/accounter-fullstack/commit/3eb28e045b6403a6da039c5af2d79bff069ff6ac)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - Adds a new client-side
`AcceptInvitationPage` with login-redirect support, a `useAcceptInvitation` hook, and routing
configuration, plus associated session storage plumbing in `auth-callback` and `PublicOnlyGuard`
to preserve the invitation return-to URL across the Auth0 login flow.
- Introduces `getJwtIdentity()` on `AuthContextProvider` and `getUserEmailById()` on
`Auth0ManagementProvider` to support fallback identity resolution when the full auth context
isn't established, and adds verified-email-based relinking of Auth0 subjects in
`mapAuth0UserToLocal`.
- Reorders `insertBusinessUser` before `insertInvitation` in the invitation creation flow and
updates vitest config to support `@` alias and `.tsx` test files.
- [#3202](https://github.com/Urigo/accounter-fullstack/pull/3202)
[`cf98582`](https://github.com/Urigo/accounter-fullstack/commit/cf9858233b3201a9dbbc4c603a64888dd863b4d1)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Auth0 Integration**: The UserNav
component now directly integrates with Auth0 to fetch user authentication status and profile
information.
- **Enhanced User Profile Display**: The user menu dynamically displays the user's avatar image,
falls back to initials if no image is present, and shows the user's email and role within the
dropdown.
- [#3202](https://github.com/Urigo/accounter-fullstack/pull/3202)
[`cf98582`](https://github.com/Urigo/accounter-fullstack/commit/cf9858233b3201a9dbbc4c603a64888dd863b4d1)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Centralized Logout Logic**: Int