Skip to content

Proxima v0.3.1

Compare
Choose a tag to compare
@github-actions github-actions released this 10 May 06:19
· 833 commits to main since this release
238e371

Changelog

All notable changes to this project will be documented in this file.

[0.3.1] - 2024-05-10

🚀 Features

  • (githubm-project-v2) Add project data
  • (post-deletion) Feed gets refreshed on post delete
  • (end2end) Check post in profile page and
  • (end2end) Post deletion flow
  • (recursive-deletion) Delete subcollections of posts
  • (recursive-deletion) Delete all upvotes of a comment
  • (comment) Add viewmodel for exposing the comments under a post
  • (comment) Add refresh method
  • (comment) Add the provider for the comment viewmodel
  • (comment) Sort the comments from newest to oldest
  • (comment) Display comments under the post
  • (comment) Make the postpage refreshable to refresh the list of comments
  • (comment) Add mock comment viewmodel
  • (comment) Add a method to create a CommentPost from data
  • (challenge-repository) [breaking] Make completeChallenge return the Centauri points added
  • Add a snackbar showing the number of Centauri won
  • (challenges) Display snackbar when clicking on an active challenge
  • (points-snackbar) Make snackbar behaviour to be floating
  • (challenge-repository) Add a mock
  • (feed) Put challenges always on top
  • (post-overview) Add isChallenge attribute
  • (post-overview) Add a border to challenge posts
  • (post-feed) Remove completed challenges from the top of the feed
  • (post-page) Reload feed when popping a challenge view
  • (challenge-generator) Add generateFromPostId method
  • (personal_user_avatar) Add personal user avatar widget based on profile viewmodel
  • (dynamic_user_avatar) Add dynamic user avatar view model
  • (dynamic_user_avatar_view_model) Remove code duplication
  • (challenge-logout) Add a uid provider that is never null
  • (comment) Add class to represent the state of adding a comment
  • (comment) Add the viewmodel for adding comments
  • (comment) Add provider for the new comment view model
  • (comment) Make tryAddComment returns if the comment was added successfuly
  • (comment) Add a reset method to the view model to clear the state
  • (comment) Link the ui to the new comment view model
  • (time-service) Create the human time service
  • (time-service) Add types and implementation for getting current DateTime
  • (time-service) Provide the current datetime to service
  • (time-service) Add interfaces and API for service
  • (time-service) Implementation of time service interface API
  • (time-service) Remove old date time usage from UI
  • (time-service) Use of the new time service in UI
  • (time-service) Replace old private function calls by new values
  • (time-service) Actually use the currentDateTimeCallback arg for timeago clock
  • (time-dists) Use expectation testing instead of search testing
  • (map) Added a viewmodel for custom map pins

🐛 Bug Fixes

  • (recursive-deletion) Delete upvotes before comments
  • (recursive-deletion) Delete single comment correctly
  • (recursive-deletion) Check for comment existence before deletion
  • (comment) Make the return type of build to be Future
  • (comment) Put the real comment count when create the post overview
  • (comment) Check for the real number of comments under a post
  • (comment) Use the available setUsersFirestore function
  • (comment) Check that the actual comments are sorted in the intuitive order
  • (comment) Check that no comments are exposed when a comment is added to the database and no refesh has been called
  • (comment) Remove unecessary mock override
  • (feed-tests) Make tests use a mock challenge repository and userId
  • (dynamic_user_avatar) Remove unused parameter bottom bar comment
  • (dynamic_user_avatar_view_model) Throw exception when user not logged and input user is null
  • (challenge-logout) Use valid uid provider in challenge view-model
  • (challenge-logout) Circular value searches for debug text inside message.
  • (challenge-logout) Use validUid for completeChallenge
  • (profile-viewmodel) Error text for no user
  • (valid-uid) Use valid uid in account creation viewmodel
  • (comment) Correct error message
  • (comment) Make the content error message public
  • (comment) Remove paraphrasing comments
  • (comment) Remove useless dashes
  • (comment) Make content field persitent when the user navigates to another page
  • (time-service) Import problem after merging
  • (recursive-deletion) Use new upvote repository constructors
  • (tests) Broken tests related to dynamicUserAvatar
  • (map) Added comments for the new MapPin class
  • (map) Moved map_pin.dart under lib/model/ui
  • (map) Change pin.id type to MarkerId
  • (map) Moved MapPin test file under test/model/ui
  • (map) Changed "for loop" to "map"
  • (map) Applied remarks on map pin test file
  • (map) Refractored duplicate code
  • (map) MapPinProvider is now an AsyncNotifierProvider
  • (map) Made callback function non-nullable
  • (map) Made generateMapPins() static
  • (map) Better error management for the map pins and the live location.
  • (tests) Consistent format on ProviderScope return
  • (tests) Keep consistent relative timings from the constant time
  • (tests) Correct typos in comments

🚜 Refactor

  • (logout) Move to profile page components
  • (test) Centralize delayNeededForAsyncFunctionExecution
  • (end2end) Check for card presence on delete
  • (end2end) Check both content and card
  • (end2end) Call deletion test method
  • (recursive-deletion) Factorize the deletion of one comment
  • (comment) Rename comments provider
  • (comment) Put commentList variable inline in bodyChildren
  • (points-snackbar) Move duration to a constant
  • (sorting-service) Make putOnTop argument take ids instead of posts
  • (challenge-generator) Set default expiration delay to 1 day
  • (static-post-page-tests) Add navigation group
  • Add comments and remove TODO
  • (profile) Use card for post and comments
  • (profile) Use cards for badges
  • (profile) Remove shadow parameter
  • (profile) Remove separator between posts
  • (dynamic_user_avatar_view_model) Rename view model provider
  • (user_avatar) Move user_avatar's folder to views/components
  • (challenge-logout) Use validUid provider everywhere
  • (e2e-test) Only override the base database, not repositories
  • (e2e-test) Separate user flow from regression tests
  • (e2e-test) Factorize testing actions
  • (challenge-logout) Format
  • (comment) Move ref read to beginning of the method
  • (comment) Separate the ui elements of the bottom bar add comment widget
  • (upvote-repository) Make specific constructors for post and comment cases
  • (tests) Rename time close to now to closeToNowTime
  • (tests) Move mock post to the corresponding mock data file
  • (recursive-deletion) Make the checkExists parameter named

📚 Documentation

  • (recursive-deletion) Improve doc and test names
  • (comment) Add docs for the comment viewmodel
  • (comment) Explain why we cannot rename the arg parameter
  • (comment) Add comment line to describe addUsers
  • (dynamic_user_avatar_view_model) Add fetch user profile picture todo
  • (user_avatar) Add comment on user's initial
  • (user_avatar & dynamic_user_avatar) Add widget documentation
  • (bottom_bar_add_comment) Add widget documentation
  • (challenge-logout) Extra doc to the previous provider for consistency
  • (challenge-logout-error) Clarify doc
  • (comment) Add short description of the new comment view model
  • (upvote-repository) Document constructors
  • (tests) Add documentation for human time unit testing
  • (tests) Add documentation for human time and distances UI testing

⚡ Performance

  • (home-view-model) Await on both challenges and posts at the same time
  • (challenges) Refresh home view-model on post page entering

🎨 Styling

  • (post-page) Remove unnecessary import

🧪 Testing

  • (recursive-deletion) Test for deletion of post subcollections
  • (recursive-deletion) Test all comment deletion
  • (recursive-deletion) Check that comment upvotes are deleted
  • (comment) Add tests for the comment viewmodel
  • (comment) Add test to check the refresh method of the comment viewmodel
  • (comment) Add utility functions to create and add users to firestore
  • (home-view-model) Test challenges are put on top
  • (points-snackbar) Test it appears when clicking on challenge
  • (dynamic_user_avatar) Mock view model and override.
  • (dynamic_user_avatar) Add tests for dynamic user avatar
  • (dynamic_user_avatar_view_model) Add unit test
  • (dynamic_user_avatar_view_model) Group tests setup
  • (user_avatar_view_model) Fix small typo in test name
  • (challenge-logout) Add regression test
  • (challenge-logout) Make tests compatible
  • (challenge-logout-error) Check logout button existence before tap
  • (challenge-logout) Create the regression test on the view-model
  • (challenge-logout) Remove the regression test from end2end tests
  • (comment) Add tests for the new comment view model
  • (comment) Add mock provider for the post page
  • (comment) Add test for adding comment on post page view
  • (time-dists) Human time service fake provider setup
  • (time-dists) Fake providers for constant time services
  • (time-dists) Human time provider override definition
  • (time-dists) Human time service unit testing set up
  • (time-dists) First basic time absolute unit test
  • (time-dists) Abstracts the constant time value for easier relative testing
  • (time-dists) Complete the absolute time unit testing
  • (time-dists) Relative testing 'now' special case
  • (time-dists) Relative human time service unit tests
  • (time-dists) Add an custom provider scope for a given post
  • (time-dists) Basic distance value calculation test
  • (time-dists) Use the override for the human time service
  • (time-dists) Basic test for correct human time on test post
  • (map) Testing that the MapPin provider works as expected

⚙️ Miscellaneous Tasks

  • Bump project version to v0.3.1
  • (dependencies) Move mockito to dev dependencies

Teast

  • (time-dists) Check correct timing value on custom post

Text

  • (dynamic_user_avatar) Add text key on initial display name text