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

feat: amélioration du background et nouvelle(s) option(s) pour les notifications #606

Open
wants to merge 94 commits into
base: main
Choose a base branch
from

Conversation

Kgeek33
Copy link
Contributor

@Kgeek33 Kgeek33 commented Jan 7, 2025

🚀 Nouvelle Pull Request

Proposez vos modifications pour améliorer Papillon

Informations importantes

Merci de vous référer à la documentation sur la contribution si vous avez des questions à propos des pull requests (https://gitbook.getpapillon.xyz/organisation/outils-internes/github)

Checklist d'avant pull request

Veuillez cocher toutes les cases applicables en remplaçant [ ] par [x].

  • Vous avez testé de build le projet avec vos modifications et ce build a réussi
  • Vous respectez les conventions de codage et de nommage du projet
  • Vous utilisez la tabulation pour l'indentation afin de maintenir un code lisible
  • Cette pull request n'est pas un duplicata d'une autre
  • Cette pull request est prête à être revue (review) et fusionnée (merge)
  • Il n'y a pas de TODO (aka des annotations pour du code manquant) dans vos modifications
  • Il n'y a pas d'erreurs de langue dans votre code (grammaire, vocabulaire, conjugaison, orthographe)
  • Les détails des changements ont été décrits ci-dessous
  • Cette pull-request n'est pas une "breaking-change" (des modifications qui vont entraîner la modification du fonctionnement de certaines fonctionnalités déjà existantes)

Changelogs proposés

Je remercie mes parents et ma meilleure amie pour m'avoir aidé à réaliser cette PR :)
Et je remercie également @JyhuKo, @raphckrman et @NathanBnm pour avoir fait des propositions d'améliorations !

Fixs

  • Actuellement, l'arrière-plan ne fonctionne pas avec une erreur invalid hook. Cela a été corrigé
  • Le filtrage des actualités ne fonctionne pas, car les ids changent systématiquement. A la place, une comparaison du titre et de l'auteur est effectuée
  • Ajout d'un module notifee-mod.js pour éviter une erreur Notifee lors d'une build Android
  • Langage informel (uniquement sur les fichiers modifiés)
  • Optimisation du code

Feat

  • Avertissement de l'utilisateur + requête vers les paramètres quand les notifications sont désactivées volontairement dans le système (iOS ne permet pas de redemander l'autorisation des notifications)
  • Nouvelles options dans les paramètres des notifications ! (Papillon) :
    • Nouveau devoir
    • Nouvelle note
    • Emploi du temps
    • Nouvel événement dans la vie sco
    • Nouvelle compétence

Issue en lien

Informations supplémentaires

les captures seront importées dans quelques minutes/heures

Paramètres des notifications

Page en général

1737063534113

Quand on clique sur l'icône <Info> sur l'emploi du temps

1737063534109

Notifications

AccountStack Si 1 différence Si plusieurs différences
Vie Scolaire 1736982140762 1736982140758
Notes 1736982140790 1737054507425
Devoir 1736982140781 1737054507422
Emploi du temps 1736982140777 1736982140772
Actualités 1736982140765 1737054246639
Compétences même chose que Notes même chose que Notes

Kgeek33 added 17 commits January 6, 2025 21:41
…mptes et des nouvelles dans des utilitaires dédiés
… par Notifee pour un bon fonctionnement de l'envoi des notifications
…jout d'un timestamp pour les notifications Android
…ons => permet d'éviter une erreur lors de la build
@Clmnnt
Copy link
Contributor

Clmnnt commented Jan 7, 2025

ça m’a l’air bien intéressant tout ça

@Kgeek33
Copy link
Contributor Author

Kgeek33 commented Jan 7, 2025

ça m’a l’air bien intéressant tout ça

ah merci ! j'essaye de boucler cette pr d'ici la fin de la semaine et la mettre prête pour review

@Clmnnt
Copy link
Contributor

Clmnnt commented Jan 22, 2025

J'ai loupé un truc pour build une IPA ? Quand je lance dans le simulator j'ai un Module not found : Notifee, et ça fait deux fois que je build, aucune nouveautés dans l'onglet notification...

t'as fait npm install hein ?!

@Bulgus
Copy link
Contributor

Bulgus commented Jan 22, 2025

J'ai loupé un truc pour build une IPA ? Quand je lance dans le simulator j'ai un Module not found : Notifee, et ça fait deux fois que je build, aucune nouveautés dans l'onglet notification...

t'as fait npm install hein ?!

Yep

@Bulgus
Copy link
Contributor

Bulgus commented Jan 22, 2025

Instance Pronote pour test

J'ai une instance disponible pour tester les notifications, qui fonctionne sous Papillon, si vous en avez besoin n'hésitez pas :)

@Clmnnt
Copy link
Contributor

Clmnnt commented Jan 22, 2025

t'as réussi pour notifee ?
après en simu c peut être normal tu peux pas recevoir de notifs non?

@Bulgus
Copy link
Contributor

Bulgus commented Jan 22, 2025

t'as réussi pour notifee ? après en simu c peut être normal tu peux pas recevoir de notifs non?

npm start ne fonctionne pas, mais npx expo run si (qui semble compiler l'app si je dis pas de bêtise, avant de l'ouvrir dans le simulateur)
La, toutes les options de notifs sont là. Maintenant il faut que Xcode build bien cette version, jusqu'à présent je me retrouve avec la 7.7.2, "normale"... et la doc de Papillon est pas à jour sur tout

@Clmnnt
Copy link
Contributor

Clmnnt commented Jan 22, 2025

ça a pas été fetch par @Kgeek33 je crois

@Bulgus
Copy link
Contributor

Bulgus commented Jan 22, 2025

ça a pas été fetch par @Kgeek33 je crois

de ?

@Clmnnt
Copy link
Contributor

Clmnnt commented Jan 22, 2025

bah les nouveaux changements

@Clmnnt
Copy link
Contributor

Clmnnt commented Jan 22, 2025

Instance Pronote pour test

J'ai une instance disponible pour tester les notifications, qui fonctionne sous Papillon, si vous en avez besoin n'hésitez pas :)

J'en veux bien une de session stp :)

@Clmnnt
Copy link
Contributor

Clmnnt commented Jan 22, 2025

envoie moi MP

@Bulgus
Copy link
Contributor

Bulgus commented Jan 22, 2025

bah les nouveaux changements

Ah oui... mais je pense avoir trouvé le problème
L'IPA que je build est la bonne lorsque je l'installe dans le simulateur
Mais sur mon tél, c'est comme si il réinstallait l'ancienne app, surement une histoire de cache, ou une connerie..

J'en veux bien une de session stp :)

Viens discord :)

@Kgeek33
Copy link
Contributor Author

Kgeek33 commented Jan 22, 2025

Alors cet aprem j'ai pas eu le temps pask j'ai passé 2 heures à faire un workflow pour analyser des fichiers python pour la nsi

Bref je fais les changements que j'ai indiqué ce midi tout à l'heure :)

@Bulgus que t'indiques le npm start? C'est vrai que j'ai pas testé ça mais comme la majorité des gens ne peuvent pas tester sur Expo Go (excepté un downgrade sur Android), peu d'impact. Oui npx expo run build l'app d'abord puis lance un simulateur/installe sur un appareil connecté

@Clmnnt oui mes changements vont du coup bientôt arriver, et tu pourras tester (tu connais comment he fonctionne :) )

@Clmnnt
Copy link
Contributor

Clmnnt commented Jan 22, 2025

"couleurs" (jspas comment appeler ça)

J’en ai eu au collège et on le appelais couleurs

Officiellement c'est des compétences

@Clmnnt
Copy link
Contributor

Clmnnt commented Jan 22, 2025

Hey, ça doit être espacé pask sûrement ta surcouche Android gère automatiquement les applis en arrière-plan. Donc sûrement que quand t'as reçu la 1ère notif que le processus soit interrompu pour x raison

Par rapport à l'absence, c'est soit pask a été saisi une absence qui va arriver ou alors dans mon code, c'est considéré comme une nouvelle absence quand l'heure de début et de fin n'est pas le même. Mais je pense ajouter davantage de détails quand une différence en affichant la date de l'absence/retard...

J'ai regardé dans les settings, j'ai rien sur ce sujet

Après j'ai des notifs avec des heures aléatoires donc peut être

Y'a un moyen de by-pass ça ?

@Bulgus
Copy link
Contributor

Bulgus commented Jan 22, 2025

@Kgeek33
Rien, à part le problème du module non trouvé. Okay cela confirme ce que je pensais, donc le principal c'est que ça fonctionne :)
Bon je n'arrive toujours pas à installer cette foutue nouvelle version sur mon tél mais ça va venir 😭

@Kgeek33
Copy link
Contributor Author

Kgeek33 commented Jan 22, 2025

Hey, ça doit être espacé pask sûrement ta surcouche Android gère automatiquement les applis en arrière-plan. Donc sûrement que quand t'as reçu la 1ère notif que le processus soit interrompu pour x raison
Par rapport à l'absence, c'est soit pask a été saisi une absence qui va arriver ou alors dans mon code, c'est considéré comme une nouvelle absence quand l'heure de début et de fin n'est pas le même. Mais je pense ajouter davantage de détails quand une différence en affichant la date de l'absence/retard...

J'ai regardé dans les settings, j'ai rien sur ce sujet

Après j'ai des notifs avec des heures aléatoires donc peut être

Y'a un moyen de by-pass ça ?

alors je viens de faire des optimisations sur le background (80b15ff), j'vais tester en mode débug pour voir si ça change qqch
sinon je devrai intégrer un lien vers les paramètres pour désactiver les restrictions en arrière-plan (mais Papillon pourrait bouffer énormément en batterie, rien que pour moi, l'appli pour test ma pr utilise 15% de ma batterie alors que je l'ouvre jamais)

@Kgeek33
Copy link
Contributor Author

Kgeek33 commented Jan 22, 2025

@Kgeek33 Rien, à part le problème du module non trouvé. Okay cela confirme ce que je pensais, donc le principal c'est que ça fonctionne :) Bon je n'arrive toujours pas à installer cette foutue nouvelle version sur mon tél mais ça va venir 😭

oui voilà et en plus, on peut pas faire les appels en arrière-plan sur Expo Go donc j'ai envie de dire c'est pas grave 😂
change l'id du package pour éviter d'être en conflit avec Papillon officiel ! (j'ai fait Papillon Dev en nom d'app et j'ai rajouté .dev en id du package)

… arrière-plan + récupération des nouvelles informations 1 par 1 + quelques optimisations
@Kgeek33
Copy link
Contributor Author

Kgeek33 commented Jan 22, 2025

okay j'ai terminé et j'ai donc fait quelques adaptations comme prévu, j'ai rien touché sur le changement des autorisations Android sur le lancement du background mais ça devrait mieux fonctionner. je n'ai juste pas changé pour la vie sco, je savais pas comment m'y prendre

@Kgeek33
Copy link
Contributor Author

Kgeek33 commented Jan 23, 2025

@Bulgus si tu dois faire un ipa, pense bien à prendre mes 2 derniers commits pour résoudre mes bêtises dans le code 😂😂
@Clmnnt j'viens de mettre à jour l'apk qui fixe les notifs en continu des nouveaux devoirs

@JyhuKo
Copy link
Contributor

JyhuKo commented Jan 23, 2025

C'est connu ? #681

@Kgeek33 Kgeek33 mentioned this pull request Jan 23, 2025
@Kgeek33
Copy link
Contributor Author

Kgeek33 commented Jan 23, 2025

C'est connu ? #681

#681 (comment)

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

Successfully merging this pull request may close these issues.

[Bug]: notification [Feature]: Background fetch, widgets et notifications
10 participants