collactionteam / collaction_app Goto Github PK
View Code? Open in Web Editor NEWCollAction cross-platform mobile application for iOS and Android
Home Page: https://collaction.org
License: GNU General Public License v3.0
CollAction cross-platform mobile application for iOS and Android
Home Page: https://collaction.org
License: GNU General Public License v3.0
Describe the bug
Configurations should be provided as a stream so the UI can update accordingly
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The UI should update as soon as the configuration changes
Device information:
Describe the bug
When I double click the "Share CollAction" button on the home screen, the share sheet opens twice and can be closed twice.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The button should be disabled either until the share sheet is closed or with a small delay to make sure that opening multiple share sheets isn't possible.
See design.
Add support for manually running GitHub action workflows.
(see https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow)
Issues with the script:
#!/bin/sh
in the first lineSuggestion:
./hooks/pre-commit
./install-hooks
that executes cp ./hooks/* ./.git/hooks/
(should work with both bash and cmd)Functionality: Upon resuming or starting the app, the current date should be checked and compared to the MVP deadline. If the MVP phase has ended, instead of the app's content a captive page is displayed.
Implement a condition with a static date for 31st of January 23:59, show captive page if after this date.
Captive page content:
See Figma for content
Captive page design:
See Figma for full page
Remove rogue quotes from release notes:
File and line: https://github.com/CollActionteam/collaction_app/blob/development/.github/workflows/ci.yml#L90
...and maybe also include the author name after the commit hash with Author: $(git log -1 --pretty=format:'%an')
.
โ Do NOT make a separate branch or PR for this. Just do this wherever it fits in :)
Feature:
We should swap out all Text widgets that display failures such as "NetworkRequestFailed" with something like "No Spotlight CrowdActions right now! Look back alter" and some generic icon. This should be done everywhere where an error may displayed with information that is irrelevant for the user.
Expected Behavior:
A network request failure happens when loading Spotlight CrowdActions, a snackbar shows for a few seconds saying "Something went wrong, check your internet connection!", and a widget is displayed properly to enforce UX, instead of just some Text with an error message.
Problem
Null safety is not implemented in a few dependencies yet (listed below), so I have to run the app in PyCharm with the --no-sound-null-safety
flag. I would like to discuss what we can do about this, personally, the idea of null safety sounds like a nice feature to have so I think we should work towards enforcing it, but a significant amount of libraries don't seem to be supporting it yet. Haven't tried any of the migration tools listed in the link below yet. Would love to hear what everyone thinks.
Error Message:
Error: Cannot run with sound null safety, because the following dependencies
don't support null safety:
For solutions, see https://dart.dev/go/unsound-null-safety
Describe the bug
App does not update profile photo and bio after clicking on Save changes
button.
To Reproduce
Steps to reproduce the behavior:
Edit profile
Save changes
Expected behavior
New profile photo and bio should be displayed on the User Profile screen.
Device information:
(see Slack message in #app 2021-12-23 3:30PM)
Instead of APKs, distribute app bundles to testers using Firebase Distribution using GitHub Actions.
Describe the bug
The screen to enter the OTP says 4 digit code, but it's 6.
To Reproduce
Steps to reproduce the behavior:
Device information:
Running 'example widget test' does not work currently, the line await initHiveForFlutter();
runs indefinitely.
This line is required for the GraphQL interaction code to run properly, it initializes a Hive (lightweight db for Flutter), however this does not currently work. When debugging I saw that it gets stuck trying to create a new box, line 30 in the initHiveForFlutter() function, await Hive.openBox(box);
. Interestingly, await initHiveForFlutter();
does not lead to issues in the main app.
Any input from the others is appreciated, for now I won't create a PR until this is resolved.
Description:
Instead of displaying 'errors' directly to the user, we should use the content placeholder and display a snackbar error instead. For all received Failures display a snackbar, for all received failures where content can no longer be defined, use content placeholder and show snackbar.
Reporter: @rubenhorn
Description: Generated files (freezed, json serializable, etc.) are tracked.
Creating this issue to track fix outside of jira.
(see https://www.figma.com/file/dYFW0QF7Fg10dpSIxA3wQb/CollAction-MVP?node-id=1609%3A12826)
The background of the top bar in the app switcher does not match the background color of the app icon.
This makes the rectangular icon stand out compared to other apps and doesn't look too nice.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The background color of the top bar in the app switcher should exactly match the background color of the icon (#ffffff).
Device information:
On the login/registration page(s), links should be opened in the app instead of an external web-browser, so the user is not "kicked out of the auth flow".
Add loading indicator to all network images
Add loading indicator to screens:
Describe the bug
Position indicator does not stay in play when scrolling through carousel.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Position indicator stays in place and is updated to show current position.
Device information:
If the user wants to view the onboarding again, they could be able to start it again from the settings screen.
๐ Add button to settings screen "What are crowdactions?" that pushes the onboarding route.
(Relates to #142)
Describe the bug
While the chip for the category (e.g. sustainability) is displayed, the chip for the sub-category (e.g. food) is missing from the crowdaction card/details page.
(Should they also be displayed on the list items?)
To Reproduce
Steps to reproduce the behavior:
Device information:
We need to make sure the folder structure remains clean, in an effort to improve on this, we should go through all folders and files, check for wrong nesting of folders, wrong naming, wrongly placed files (unrelated to parent), etc.
Below is an image of an example of how the structure is broken. In the presentation layer this is how it should look:
-- crowdaction/
--- pages/
---- shared_widgets/
---- crowdaction_detail/
----- widgets/
----- crowdaction_detail.dart
---- crowdaction_browse/
----- widgets/
----- crowdaction_browse.dart
And so forth, which is not the case. Instead, we have misplaced nested folders which makes little to no logical sense.
Use https://pub.dev/packages/cached_network_image for banner and card images to reduce the load on the backend and the data consumption of the app and increase performance.
Show the target environment in the app, so that testers can see which backend is being used.
The "Demo Screen" should only exist/be accessible in debug builds, not in release-builds!
Display total participants in a crowdaction (according to the design):
This method should call context.router.push(const OnboardingRoute());
instead, but if I change it I always get an exception: [Root Router] Router can not navigate to onboarding
.
Originally posted by @rubenhorn in #106 (comment)
Show information about the current build on the settings page:
Bug: If the user closes the app before completing the onboarding, it is not shown on the next app start.
Is your feature request related to a problem? Please describe.
As a user, I want to be able to explicitly reload content in the app without having to "cold start" it.
Describe the solution you'd like
"Pull-to-refresh" on the main/home page (and other pages such as crowdaction list or crowdaction details).
Describe alternatives you've considered
Upon returning to a page (comes to foreground) check if it hasn't been updated in a while and if this is the case, reload the content. (This might actually be less convenient and harder to implement)
Describe or list the benefits this change would bring
Additional context
Implementation tutorial
Describe the bug
App crashes when trying to upload a profile picture.
To Reproduce
Steps to reproduce the behavior:
Stack traces
Fatal Exception: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=69, result=0, data=null} to activity {org.collaction.collaction_app/org.collaction.collaction_app.MainActivity}: java.lang.IllegalStateException: Reply already submitted
at android.app.ActivityThread.deliverResults(ActivityThread.java:5114)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:5155)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2132)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:250)
at android.app.ActivityThread.main(ActivityThread.java:7851)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)
Caused by java.lang.IllegalStateException: Reply already submitted
at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:35)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:14)
at vn.hunghd.flutter.plugins.imagecropper.ImageCropperDelegate.onActivityResult(ImageCropperDelegate.java:47)
at io.flutter.embedding.engine.FlutterEngineConnectionRegistry$FlutterEngineActivityPluginBinding.onActivityResult(FlutterEngineConnectionRegistry.java:25)
at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.onActivityResult(FlutterEngineConnectionRegistry.java:15)
at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onActivityResult(FlutterActivityAndFragmentDelegate.java:51)
at io.flutter.embedding.android.FlutterActivity.onActivityResult(FlutterActivity.java:10)
at android.app.Activity.dispatchActivityResult(Activity.java:8424)
at android.app.ActivityThread.deliverResults(ActivityThread.java:5107)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:5155)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2132)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:250)
at android.app.ActivityThread.main(ActivityThread.java:7851)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)
Device information:
Issue: On my device, clicking the menu button does not open, I can drag the menu open from the icon though.
Line of Code:
Describe the bug
The design of the app bar could be improved on.
When scrolling on a longer page it does not look very good.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The entire app bar should have a white background.
The back icon should be higher resolution.
No content should be visible through the app bar or status bar.
Device information:
In the near future, we want to allow users to comment on a crowd action, users must be signed in to leave a comment, and for users not logged in they should see a CTA register or login (See design).
Acceptance criteria:
time since posted at
, user avatar
, user display name
, message
. Additionally the ability to Delete
a comment if the comment is owned by the user. (pseudo for now I guess)See figma for design
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.