Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: observations metadata #1829

Merged
merged 1 commit into from
Jan 15, 2024
Merged

fix: observations metadata #1829

merged 1 commit into from
Jan 15, 2024

Conversation

arnaudambro
Copy link
Contributor

@arnaudambro arnaudambro commented Jan 15, 2024

PR "intéressante"parce qu'elle fait suite à un gros bug semaine dernière.

Contexte: j'avais fait une migration sur les observations de territoire parce que j'avais remarqué que certaines n'avaient pas de observedAt, d'autrews avaient un timestamp au lieu d'une date ISO, etc. donc pour harmoniser le tout, j'avais fait une migration... qui a foutu un sacré bazar: toutes les données custos avaient disparues !

j'ai compris pourquoi: c'est à cause de ce fichu batch state de react (https://react.dev/learn/queueing-a-series-of-state-updates#react-batches-state-updates)

qui faisait qu'au moment d'appeler const customFieldsObs = useRecoilValue(customFieldsObsSelector);, l'organisation n'était pas encore dans le state recoil (PS: aucun rapport mais avec zustand on n'aurait pas ce problème je pense)

cette PR fixe le problème et relance la migration, avec laquelle j'espère sans trop savoir pourquoi résoudre le problème de stats https://trello.com/c/8zAAkkVg/1308-bug-ema-emos-statistiques-dobservations-qui-matchent-pas

n'empêche que ça fait mal au cerveau

@@ -29,7 +29,6 @@ export default function useDataMigrator() {
const setLoadingText = useSetRecoilState(loadingTextState);
const user = useRecoilValue(userState);
const setOrganisation = useSetRecoilState(organisationState);
const customFieldsObs = useRecoilValue(customFieldsObsSelector);
Copy link
Contributor Author

@arnaudambro arnaudambro Jan 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ici, customFieldsObs n'est pas encore initialisé

Copy link

sonarcloud bot commented Jan 15, 2024

Quality Gate Passed Quality Gate passed

The SonarCloud Quality Gate passed, but some issues were introduced.

3 New issues
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@@ -22,13 +22,12 @@ export const customFieldsObsSelector = selector({
key: 'customFieldsObsSelector',
get: ({ get }) => {
const organisation = get(organisationState);
if (!organisation) return defaultCustomFields;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

c'était une mauvaise idée: j'avais mis ça parce qu'on utilisait ce selecteur dans DataMigrator mais ça hurlait qu'organisation était null donc organisation.customFieldsObs de la ligne en dessous faisait planter le système

@@ -108,19 +109,19 @@ const SignIn = () => {
if (organisation._id !== window.localStorage.getItem('mano-organisationId')) {
await resetCache();
}
setOrganisation(organisation);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

placer ces deux lignes avant la demande de clé fait du bien: on peut se servir du state recoil organisation et user dans la suite

Copy link

🎉 Deployment for commit 415e467 :

Ingresses
Docker images
  • 📦 docker pull harbor.fabrique.social.gouv.fr/mano/mano/api:sha-415e4672820c0b54f0145275e0a7fd8b9ee27133
  • 📦 docker pull harbor.fabrique.social.gouv.fr/mano/mano/dashboard:sha-415e4672820c0b54f0145275e0a7fd8b9ee27133
  • 📦 docker pull harbor.fabrique.social.gouv.fr/mano/mano/www:sha-415e4672820c0b54f0145275e0a7fd8b9ee27133
Debug

@github-advanced-security
Copy link

This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation.

Copy link
Member

@rap2hpoutre rap2hpoutre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ça fonctionne chez moi, je n'ai pas eu de bugs.
J'ai lu le code, et comme je n'ai pas tout le contexte (malgré les détails dans le ticket, merci beaucoup d'ailleurs !), je n'ai pas tout compris, seulement un peu MAIS c'est OK pour moi : en effet, tu as double check cette fois ci et tu as fait ton correctif en connaissance de cause + je ne vois rien de choquant !

dashboard/src/components/DataMigrator.js Show resolved Hide resolved
dashboard/src/components/DataMigrator.js Show resolved Hide resolved
api/src/controllers/migration.js Show resolved Hide resolved
@rap2hpoutre
Copy link
Member

Go !

@arnaudambro arnaudambro merged commit 3952449 into main Jan 15, 2024
10 checks passed
@arnaudambro arnaudambro deleted the fix/observations-metadata branch January 15, 2024 14:08
SocialGroovyBot added a commit that referenced this pull request Jan 15, 2024
## [1.302.11](v1.302.10...v1.302.11) (2024-01-15)

### Bug Fixes

* dans les stats d'actions, 'Catégories supprimées' à la place de 'Autres' ([#1831](#1831)) ([91e35ce](91e35ce))
* observations metadata ([#1829](#1829)) ([3952449](3952449))
@SocialGroovyBot
Copy link
Member

🎉 This PR is included in version 1.302.11 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants