FIXES FRMW-2888
**What**
Since the migration scripts runner run as part of the migrate script, we were cleaning up the resources but we didn't take into consideration that links are loading automagically by just importing the links. The issue is that once a link have been imported, the next import will rely on the cached module and therefore when cleaning the resources, re importing those links is not enough. Instead, we are now treating the run-script as a separate command that we run during running the migration so that resources are isolated and loaded according to the need of each script themselves
**What**
- Formats the schema that is generated by `yarn i18n:schema`.
- Ensures we don't end up with huge diffs if one team member forgets to format the schema in one PR, and the schema is then updated and formatted later on.
* finish translat to farsi v 1.0
Finish translation to Farsi v1.0
* Add labeler workflow
* Add missing translations for filters and UI elements in farsi
* Remove .github/workflows/labeler.yml file from changes as requested
* feat: add translation for zh-CN
* update: version to 2.3.1
* feat: add Simplified Chinese (zhCN) translations
* update some key to translate
* fix:Remove Duplicates
Resolves CMRC-627
**What**
- If the session expired, and the user then navigated to a route with no loader the request for the user info in the sidebar would fail causing the app to crash as we didn't have an errorElement wrapping the app shell.
- This PR adds a top level errorElement which handles errors that are outside of a page context, such as in the sidebar.
**What**
- Sends variant_rank to the backend
- Sorts variant table by variant_rank if no other order is selected.
We have a project planned for implementing variant_rank correctly, and adding UI for managing the rank after product creation. This PR handles none of that, as it should be handled as part of said project. This PR simply makes the field useable until then.
Resolves CMRC-859
FIXES FRMW-2878
**What**
Currently, the `one-to-one` unique constraints does not account for deleted record. This prevents from inserting a new record wth the same fk if another one is deleted.
**Caveat**
`hasOne` with FK option is meant to be a special case, for example a many to one - one to many without defining the other side of the relation. In that case we don't handle this behaviour and keep it as it is
PARTIALLY RESOLVES FRMW-2876
**What**
Fix wrong usage of the `subscriberId` in the event bus. It happens that the subscriber id coming from the context was not used at all. This issue lead to duplicated event subscriber with the same subscriber id, it also prevent unsubscribing from event since rand id will be assigned.
**NOTE**
This PR does not handle overide strategy for subscribers with the same id. this still needs to be discussed