-
-
Notifications
You must be signed in to change notification settings - Fork 51
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
chore(app): remove .vscode/settings.json
#6
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Jonas-Sander
approved these changes
Jun 25, 2021
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't know I had to do it like that! Thanks :)
github-merge-queue bot
pushed a commit
that referenced
this pull request
Aug 5, 2023
Replace old privacy policy pages with a new markdown-based, multi-layout privacy policy page. This PR will **not** update the privacy policy itself, only the presentation. Note: This PR originally had code for loading the privacy policy asynchronously (it wasn't loaded from the internet, but all the code for loading indicators, errors, etc. was 90% there). I removed it for now, to have less complex code as we don't need it yet. The deleted code: [7eb67fb3fd4694e1cf4505cc12df821198ea7f22](a43badb) **Desktop / Narrow layout** (Updated: "Weitere Optionen" in the lower-left is now centered) https://user-images.githubusercontent.com/29028262/231279789-27777b7e-1ac2-4bd1-9fba-f5c57a19ba48.mp4 **Mobile layout** | Onboarding | Default | |-|-| | ![grafik](https://user-images.githubusercontent.com/29028262/231280468-65d2234f-b385-4f5f-a1c1-5caca55c630e.png) |![grafik](https://user-images.githubusercontent.com/29028262/231280514-9e5d2347-db76-4d06-ae40-fd70def822af.png) | | Dark mode | Light mode | |-|-| | ![grafik](https://user-images.githubusercontent.com/29028262/231281163-e1a68c0c-bb56-476f-aa85-d3ff25358537.png) |![grafik](https://user-images.githubusercontent.com/29028262/231281254-459aaa38-42a1-4d14-90ae-372a62e37049.png) | | ![grafik](https://user-images.githubusercontent.com/29028262/231281418-35a60354-345d-4b53-9936-4c4e369b55b4.png) |![grafik](https://user-images.githubusercontent.com/29028262/231281379-9f305698-5f84-436d-8000-30f6d21f1b66.png)| | ![grafik](https://user-images.githubusercontent.com/29028262/231280514-9e5d2347-db76-4d06-ae40-fd70def822af.png) |![grafik](https://user-images.githubusercontent.com/29028262/231281585-7d300917-8af0-4b4c-834a-d0089bd77c15.png)| **Privacy policy with Subchapters** (just for demonstration purposes) https://user-images.githubusercontent.com/29028262/236900647-93ae287c-eb70-42bc-8a53-12cb2d267db0.mp4 Tidbits to remeber: * Expansion behavior is different on layouts with bottom sheets in contrast to the desktop layout with the fixed table of contents on the side. On the latter manually expanded sections will stay expanded until they are manually collapsed again, on the former they will always automatically collapse again as soon as they are not read anymore. TODOs: - [x] A section should already be marked as "currently reading" when the heading is at the top of the page not only after we scrolled past it (because if we use the TOC to navigate to a section it will position the heading at the top of the page - also its just nicer in general). - [x] Fix Anchor for "11. Verarbeitung des gewählten Account-Typs und des Bundeslandes" not working (maybe more). The generated ID by the Flutter `markdown` plugin is different from the Id we use in the text. Seems to happen for Anchors with Sonderzeichen/Umlaute? - [x] `flutter: 'package:sharezone/onboarding/sign_up/pages/privacy_policy/src/table_of_contents/currently_reading.dart': Failed assertion: line 104 pos 14: 'oldVisibleHeadings.length == 1': is not true.` - [x] Depending on the Platform (and maybe even input?) we should have different Padding for the ui elements, especially the table of contents section texts. On e.g. an iPad you would need to press onto a specific section with your finger and thus need more space to hit it easily and not accidentally another section below or above. On desktop since you have your cursor one might leave less space as its easier to press the right section. We might use `Theme.visualDensity` - should be additionally look at the type of input used? See also: https://stackoverflow.com/questions/63327808/in-flutter-how-can-i-check-if-a-mouse-device-or-a-touch-device - [x] Privacy Policy Section shouldn't stay expanded when opened manually in bottom sheet layout - [x] When manually expanding subsections in the BottomSheet they should close automatically again when navigating to one (maybe simple auto open/close behavior with no permanent manual expansion?) - [X] Change our designs and implementation so that we don't take consent. See: **I changed the implementation but didn't change the design.** * https://meindatenschutzpartner.de/dsgvo/informationspflichten/zustimmung-zu-datenschutzerklaerung-einholen/ * https://www.activemind.de/magazin/zustimmung-datenschutzerklaerung/ * https://www.dr-datenschutz.de/anleitung-datenschutzhinweise-auf-websites-richtig-einbinden/ - [x] TOC fade at the bottom should be invisible if we scrolled to the bottom - [x] Implement downloading as a PDF - [ ] Dynamically load privacy policy and PDF download link from endpoint - [x] Test case: If loading privacyPolicy fails then show button to open up PDF version via web browser - [ ] Opening TOC bottom sheet - bottom sheet should always open up to about 3/4 of screen (currently only goes to fixed height i think, ignoring screen size). - [x] E/FA ( 3642): Name is too long. Type, maximum supported length, name: event, 40, ui_privacy_policy_text_scaling_factor_changed - [x] Highlight Color of Dark-Mode Selector looks kinda weird (selected item should still have same border, bad contrast in dark mode) - [x] `14. Instance ID` subheadings (e.g. `Firebase Cloud Messaging`) have to much space to the left ( subheadings of e.g. `8. Account, Nickname und Passwort` are more on the left, like they should) - [x] PDF download button doesn't work an Android - [ ] Space beneath divider (all layouts?) ![image](https://user-images.githubusercontent.com/29028262/206798888-ad0473f3-e185-4e89-b2f5-dff72324003f.png) - [ ] Disabling the fade effect when scrolling to the end of the toc heading list at the bottom is still quite abrupt - [ ] If you reduce the width of the window the padding around the TOC should be reduced until a "minumum" padding. After that width of the main text should be reduced. If we have much space available we can have more padding than the minumum padding for the TOC to make it look nicer. - [ ] When opening the toc bottom sheet and one of the last sections / chapters is currently read then the toc section list bounces inside the bottom sheet. - [ ] Open TOC button not vertically centered ![image](https://user-images.githubusercontent.com/29028262/206799789-1e3252f9-5797-4f5b-88b8-fa4c6517640b.png) - [ ] Widget test that no error is thrown on different layouts when displaying privacy policy loading placeholder (also test download PDF is not tappable?) - [ ] Back button at the top should be at the very left in desktop layout. - [ ] Widget test for bottom sheet opening / choosing section / it closing. - [ ] Widget test in different layouts loading state (toc cant be opened / placeholder shown, etc). - [ ] Test that the correct layouts appear in the different window sizes - [ ] Delete code regarding loading privacy policy. - [ ] Split up classes in `common.dart` into files. - [ ] Divider on desktop layout not visible? - [ ] "Datenschutzerklärung" heading is not always centered in desktop layout. - [ ] Remote Config value ("kill switch") that disables the internal privacy policy parsing / display function and instead displays a button / dialog to open the privacy policy in a website / webview - [ ] Replace "Akzeptieren" of the privacy policy in onboarding with just "forward" (as "Akzeptieren" is wrong and might get us in legal trouble) - [x] Navigating to 5b. will highlight wrong subsection (next heading is already in threshold.) We should scroll the selected to expactly the threshold I guess? - [ ] Should the metadata be included in the actual markdown legal document or be added on the client so we can change the way of presentation later? - [ ] Document that files in cloud storage need metadata edited to be directly downloaded instead of displayed in browser - [ ] Think about if different expansion behaviors are really necessary for mobile and desktop - [x] Add loading state (`GrayShimmer`?). Disable buttons while loading. - [x] Add loading error state (add button to go to website version of privacy policy?). - [ ] Add displaying / rendering error state. - [x] This error came on mobile: ``` I/flutter (19159): ----------------FIREBASE CRASHLYTICS---------------- I/flutter (19159): Invalid argument(s): Can't find section with id information-ber-die-verarbeitung-personenbezogener-daten inside allSectionsFlattend ([inhaltsverzeichnis, 1-wichtige-begriffe, 2-geltungsbereich, 3-verantwortlichkeit-und-kontakt, 4-hosting-backend-infrastruktur-und-speicherort-fr-eure-daten, 5-deine-rechte, a-recht-auf-auskunft, b-recht-auf-berichtigung, c-recht-auf-lschung, d-recht-auf-einschrnkung-der-verarbeitung, e-recht-auf-widerspruch, f-recht-auf-widerruf, g-recht-auf-datenbertragbarkeit, h-recht-auf-beschwerde, 6-eure-kontaktaufnahme, 7-unser-umgang-mit-euren-daten, 8-account-nickname-und-passwort, a-registrierung-mittels-anonymen-accounts, b-registrierung-mit-e-mail-adresse--passwort-oder-googleapple-sign-in-ab-einem-alter-von-16-jahren-und-lter, 9-verarbeitung-der-ip-adresse, 10-speicherdauer-und-speicherfristen, 11-verarbeitung-des-gewhlten-account-typs-und-des-bundeslandes, 12-anonyme-statistische-auswertung-der-app-nutzung, 13-push-nachrichten, 14-instance-id, firebase-cloud-messaging, firebase-cr I/flutter (19159): #0 _PrivacyPolicyViewport._computeCurrentlyRead package:sharezone/…/table_of_contents/currently_reading.dart:147 I/flutter (19159): #1 _PrivacyPolicyViewport.currentlyReadSectionOrNull package:sharezone/…/table_of_contents/currently_reading.dart:131 I/flutter (19159): #2 new CurrentlyReadingSectionController.<anonymous closure> package:sharezone/…/table_of_contents/currently_reading.dart:64 I/flutter (19159): #3 ChangeNotifier.notifyListeners package:flutter/…/foundation/change_notifier.dart:308 I/flutter (19159): #4 ValueNotifier.value= package:flutter/…/foundation/change_notifier.dart:412 I/flutter (19159): #5 new DocumentSectionController.<anonymous closure> package:sharezone/…/table_of_contents/table_of_contents_controller.dart:81 I/flutter (19159): #6 ChangeNotifier.notifyListeners package:flutter/…/foundation/change_notifier.dart:308 I/flutter (19159): #7 ValueNotifier.value= (package:flu I/flutter (19159): ---------------------------------------------------- ``` - [ ] Text should be scrollable if your cursor is anywhere inside the main text area. Not above the text. - [ ] Integration/Widget tests that scroll the policy from start to finish and ensures that all sections in the TOC get highlighted (in the correct order) - [ ] Add tickets for an automated testing pipeline: - If changes are made in the privacy policy display code - If a new privacy policy is written (Should check all privacy policies with all versions of the privacy policy display code) - [ ] Separate privacy policy code in its own package? (For the purposes above) --> Maybe even own repo because we might use it in the website as well? - [x] Appearance dialog settings apply to privacy policy page but not to the dialog. If e.g. textScaling is changed the text inside the dialog doesn't change, same for brightness (although the latter is correct if you close and open the dialog again after changing it) - [x] Fade-In Color for highlighted toc section looks weird in light mode (starts with gray?) - [x] Version should be somewhere in the text - [x] Jump to section by clicking on the title, only expand it (no jumping) by clicking on the arrow icon next to it. - [x] Fix the closing animation (should close smoothly and not just disappear) - [ ] Future: Change languages - [ ] Future: Compare versions - [ ] Future: Definitions of word can be seen next to a defined word by clicking on `?` symbol to the right of the word Need Feedback on: - [ ] Animation (duration) for expansion / collapse of section headings in table of contents Nice to have but not worth it right now (add as issues?): - [ ] Add widget tests for expansion behavior change when changing layouts (e.g. from desktop to tablet layout) Stuff that doesn't work 100% as I want it but I can't or don't want to fix: * Desktop TOC bottom fade will not always be disabled when at the bottom if a section expanded/collapses. (Scroll to bottom and expand and then collapse a section. At first the fade will be disabled but after expanding/collapsing it will be there altough it shouldn't be). --------- Co-authored-by: Nils Reichardt <[email protected]>
github-merge-queue bot
pushed a commit
that referenced
this pull request
Sep 8, 2023
This PR fixes the following error: ``` _TypeError (type 'Null' is not a subtype of type 'String') [log] #0 new Folder.fromData folder.dart:69 #1 new FileSharingData.fromData.<anonymous closure> filesharing_data.dart:49 #2 decodeMap.<anonymous closure> helper_functions.dart:23 #3 MapBase.map (dart:collection/maps.dart:82:28) #4 decodeMap helper_functions.dart:23 #5 new FileSharingData.fromData filesharing_data.dart:48 #6 FileSharingGateway.courseFoldersStream.<anonymous closure>.<anonymous closure> file_sharing_api.dart:49 #7 MappedListIterable.elementAt (dart:_internal/iterable.dart:415:31) #8 ListIterator.moveNext (dart:_internal/iterable.dart:344:26) #9 new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:189:27) #10 new _GrowableList.of (dart:core-patch/growable_array.dart:150:28) #11 new List.of (dart:core-patch/array_patch.dart:47:28) #12 ListIterable.toList (dart:_internal/iterable.dart:214:7) #13 FileSharingGateway.courseFoldersStream.<anonymous closure> ```
nilsreichardt
added a commit
that referenced
this pull request
Sep 24, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@Jonas-Sander I think you forgot to add this file to the .gitignore, right? 😅 Because of this, VS Code breaks for me, because it can't find my Flutter SDK.