Skip to content

Proxima v0.2.2

Compare
Choose a tag to compare
@github-actions github-actions released this 26 Apr 07:20
· 1504 commits to main since this release
bbe1f58

Changelog

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

[0.2.2] - 2024-04-26

🚀 Features

  • (clean-tests) Standardize widget display test
  • (tests) Renamed ProviderScope with user for less ambiguity when reading the tests
  • (post-page) Add navigation to sample post page
  • (post_page) Add comment and entire post widget
  • (post_page) Add bottom bar in post page
  • (post_page) Abstract comments data and UI creation
  • (post_page) Abstract app bar content
  • (post_page) Close keyboard upon clicking on send button
  • (post_page) Add comment list provider
  • (post_page) Add todo comment
  • (post-exists) Add postExists method
  • (post-exists) Test that a post does not exist before creation
  • (upvote) Add PostVote class to represent the vote UI state
  • (upvote) Use the upvote viewmodel to get the voting logic
  • (upvote) Add mock implementation of the upvote repository
  • (upvote) Add unit tests for the upvote viewmodel
  • (upvote) Add integration tests for the upvote viewmodel
  • (upvote) Add tests for PostVote
  • (upvote) Add documentation for the viewmodel
  • (upvote) Add postid field
  • (refactor) Adapt to the postId contained in PostOverview
  • (immutability) Add tests for hashcode and ==
  • (immutability) Add tests for hashcode and ==
  • (immutability) Add tests for hashcode and ==
  • (post-generator) Make createPostAt use the generated id by default
  • (logout) Remove previous logout button on top bar
  • (logout) Add a logout button component
  • (logout) Create delete button accepting an async delete function
  • (profile) Add a FutureVoidCallback type for delete functions
  • (delete-button) Add a loading state management and display in UI
  • (delete-button) Keep same size using IconButton in all cases
  • (profile-page) Make use of the new async capable delete button
  • (loading-button) Make the async icon button more generic
  • (types) Move FutureVoidCallback to util file
  • Add a key-value list text generator
  • (challenge-page) Add dataclass to store ui's data
  • (challenge-page) Add mock view-model
  • (challenge-page) Add challenge card ui
  • (challenge-page) Add challenge list ui
  • (challenge-page) Set the challenge ui to be the challenge list
  • (challenge-page) Add custom single and group challenge icons

🐛 Bug Fixes

  • (onPressed-parameter) Remove async function within onPressed parameter
  • (login) Replace async process of login navigation by then call on future
  • (post_upvote_repository_test) Fix refactored import of post_upvote_service.dart
  • (new_post_test) Initialize mock in setup
  • (clean-tests) Refactoring directories
  • (clean-tests) Remove unused import
  • (tests) Only one mock login page
  • (tests) SetUp is declared only once
  • (tests) Regroup setups in login_test
  • (tests) Only one mocked profile page
  • (tests) SetupFirebaseAuthMocks called in each test
  • (tests) Remove unused imports and methods
  • (tests) Rename variables and tests for clarity
  • (tests) Remove find.text to avoid error on change
  • (clean-tests) Implement reviewers suggestions
  • (clean-tests) Solve merge conflict on profile_page_test
  • (circular_value) Add blank line before return
  • (post-page) Remove unused import
  • (tests) Refactor folders
  • (tests) Move all mocks to folder mocks
  • (tests) Organize imports
  • (tests) Replace initialRoute by home
  • (tests) Centralize mocked homepages
  • (tests) Abstract homeviewmodel override
  • (tests) Mocked login page
  • (tests) Remove unused imports
  • (tests) Create mock/data folder and userRepoOverride
  • (tests) Move mock geolocator and revert profile page
  • (tests) Use mock post generator
  • (tests) Use only one user position for all tests
  • (tests) Create services folder in mock
  • (tests) Centralize firestore mock data
  • (tests) Refactor overrides
  • (tests) Abstract away providers
  • (tests) Follow dart format recommandation
  • (tests) Move firestore override and rename
  • (post_page) Remove insignificant paddings
  • (post_page) Fix comments post widget key duplicate issue
  • (upvote) Set the upvote viewmodel to be auto disposable to get correct updates
  • (upvote) Remove the votes constructor field
  • (upvote) Throw error if the user is not logged in
  • (upvote) Await for the the futures in parallel
  • (upvote) Resolve import issues due to merging
  • (upvote) Remove deprecated usage of .new
  • (upvote) Update documentation
  • (upvote) Fix typo in file name
  • (post-page) Adapt to new base
  • (end2end-test) Remove deleted package from pubspec.yaml
  • (upvote) Replace comment duplicates by a single comment
  • (immutability-tests) Check that we get the expected hashcode
  • (post-repository-test) Fix test failing on some machines
  • (new-post-test) Fix non-deterministic test
  • (post-repository-test) Use null-aware assignment operator
  • (upvote) Use new instance based testing mock data generators
  • (format) Apply dart format suggestion
  • (post_page) Extract string to named constant
  • (format) Apply dart format suggestion
  • (post_page) Remove unnecessary Center and Row widget.
  • (logout) Use short hand function call notation in argument
  • (profile) Remove stale comment about viewmodel
  • (error-handling) Fix comment typo
  • (delete-button) Implement fixed side container with small loading progress
  • (profile-page) Add comment to use profile avatar component
  • (format) Applied dart format suggestion
  • (post_page_test) Remove unused import
  • (key-value-list-gen) Add missing style to a TextSpan
  • (challenge-page) Decrease icon opacity to make it less prominent
  • (challenge-page) Remove overflow for very (very) small phones
  • (challenge-page-test) Fix test failing when multiple challenges are finished

🚜 Refactor

  • Apply dart code metrics suggestions about refactoring and code style
  • (feed_sort_option) Refactor feed_sort_option to follow good practices
  • (user_account) Remove repeated invocation of textStyle
  • (post_upvote_service) Rename to post_upvote_repository_service and add blank line before return statement
  • (login-page) Revert async function for login navigation
  • (tests) Move mock post data and combine tests
  • (tests) Create methods for relative mock positions
  • (tests) Create generatePost function
  • (tests) Rename class and apply suggestions
  • (tests) Separate post data and firestore post generator
  • (tests) Rename generators
  • (tests) Create GeoPointGenerator class
  • (tests) Centralize remaining GeoPoints
  • (tests) Move emptyfirestoreuser and make it private
  • (tests) Move post about turtles to mocks
  • (tests) Removing "mock" from file names
  • (tests) Replace GeoPoint(0,0) by userPosition0
  • (tests) Pump ProviderScope directly
  • (comment_list) Move out CommentList widget
  • (post_page) Refactor to complete post widget
  • (upvote) Expose the post id in the postOverviewProvider
  • (upvote) Expose the number of votes instead of the increment in upvote viewmodel
  • (upvote) Rename the upvote viewmodel provider
  • (upvote) Remove the use of the ({PostIdFirestore postId}) tuple to create the upvote viewmodel
  • (upvote) Arrange widget as seen on screen
  • (upvote) Stack ref. at beginning of widget
  • (upvote) Use short-hand notation
  • (end2end-test) Move the tests under /test
  • (end2end-test) Remove the emulator to make the test runnable in the CI
  • (test-position-generator) Make class non instantiable and methods static
  • (test-position-generator) Remove mentions of posts
  • (post-repository-test) Instanciate GeoPointGenerator in the test setup
  • (profile) Clean profile page build method
  • (profile) Extract appbar to local widget
  • (profile) Extract badges from build to local
  • (profile) Extract posts and comments from profile build local
  • (profile) Factorized code from both popup
  • (profile) Factorized code from both info card
  • (profile) Rename components
  • (profile) Improve overal profile components + static const
  • (profile) Rearanged directory structure
  • (post_page) Remove unnecessary complexity caused by a comma
  • (challenge-page) Made opacityWhenFinished attribute private
  • (challenge-page-test) Make data of the mock challenge unique
  • (challenge-card-data) Remove unnecessary identical check in ==
  • (challenge-page-test) Move 'expectOneRichText' to the 'testutils/' package
  • (expect-rich-text) Add matcher in argument to improve modularity
  • (challenge-card-data) Make different constructors for group and finished challenges

📚 Documentation

  • (test-position-generator) Fix typo
  • (post_page) Move comments for better readability.

🎨 Styling

  • (post-repository-test) Add missing trailing commas
  • (challenge-page) Use 'bold' alias instead of 'w700'
  • (challenge-page-test) Remove unnecessary import

🧪 Testing

  • (post_age) Add key to post page widgets
  • (post_page) Add static test for non-comment widgets post page
  • (comments) Add a list of mock comments
  • (post_page) Add comments widget test
  • (comment_post) Test hash and equality
  • (comment_post_test) Add inequality tests
  • (profile) Rename keys in profile
  • (logout) Logout test accesses the profile page
  • (profile-page) Convert tests to make use of the new async delete button
  • (post_page) Add test for post displayed information & replace homePage naming
  • (post_page_test) Add test to check correct displayed username on comments
  • (challenge-page) Add mock view-model
  • (challenge-page) Test challenge card data hashcode and equality
  • (challenge-page) Add provider for the mocked view-model
  • (challenge-page) Add tests for the static page
  • (challenge-page) Add test data for finished group challenge
  • (post_page) Remove small typo widgetswidgets

⚙️ Miscellaneous Tasks

  • Bump project version to v0.2.2