Proxima v0.4.2 (BOTA)
Changelog
All notable changes to this project will be documented in this file.
[0.4.2] - 2024-05-29
🚀 Features
- (map pins) Created pin popup UI
- (map pin popup) Added callback functions to pin
- (map pin pop up) Passing context to the viewmodel
- (map pin pop up) Added key to the arrow button
- (map pin viewmodel) Added map pin popup key
- (map pin viewmodel) Added safety in case the context is null
- (post details) Added factory method fromFireStoreData
- (comment-count) Add post comment count view model
- (comment-count) Make UI use comment count view model
- (comment-count) Refresh the comment count when the comment list is reloaded
- (comment-count) Refresh the comment count when a comment is deleted
- (delete-comment-action) Remove assumption that user has a single comment
- (offline-vote) Issue cause investigation
- (offline) Refactor circular value to take wrapped
FutureRes
- (offline) Create the
OfflineAlert
error message - (offline) Add a proper offline timeout on circular value
- Add userID to widgets and data classes to display user avatar
- (user_centauri_points_vm) Add user centauri points view model and mock
- (user_centauri_points_vm) Add refresh function
- (challenge_view_model) Refresh on complete the centauri point of the user
- (user_centauri_points_vm) Add refresh with given centauri points
- (users_ranking_vm) Refresh centauri points of users on loading
- (users_ranking_vm) Replace centauri points refresh to use top users
- (user_avatar_details) Change fromUserData to fromUser
- (user_centauri_points_vm) Make refreshWithCentauriPointsNumber not Future
- (users_ranking_vm) Regroup centauri points updates
- (user_centauri_points_vm) Remove refreshWithCentauriPointsNumber
- (override_user_centauri_points_vm) Add addtional documentation
- (user_avatar) Improve ui logic & handle error in centauri points vm
- (user_centauri_points_vm) Use loading async state
- (user_centauri_points_vm) Remove rethrow error
- (dynamic_user_avatar) Move user avatar color refreshing in vm
- (users_ranking_vm) Refresh the user avatar of the displayed users
- (ranking_card) Use dynamic user avatar for consistency
- (post-feed) Add field to post details
- (post-feed) Add method to know is a user has commented under a post
- (post-feed) Expose if the user has commented on the posts in the feed
- (post-feed) Set the comment count blue is the user has commented on the post
- (comment) Add class to represent comment counts UI
- (comment) Add empty instance
- (post-feed) Expose the comment icon color in post comment count viewmodel
- (README) Update penpot links for milestone 4
🐛 Bug Fixes
- (map pin viewmodel) Handle the case where context is null
- (mock map page provider) Renamed confusing variable
- (map pop up) Challenge pop up should not have a content
- (map pin popup) Require title for the popup
- (info pop up) Added documentation
- (post map) Moved code into external method
- (test map pin viewmodel) Moved code in the setup
- (map pin viewmodel test) Added more doc
- Reorganized imports
- (map-pin-viewmodel) Display the correct owner in the post page
- (map-pin-pop-up) Remove arrow button on the challenge pop ups
- (map-pin-viewmodel) Mock getUser for all userId
- (map-pin-test) Add post owners to the database
- (comment-count-view-model) Set loading state while refreshing
- (comment-count) Use AsyncValue::value instead of valueOrNull
- (home-view-model-override) Also override the comment count provider
- (post-generator) Make id increment consistent
- (offline-vote) Catch the exception in the upvote repository
- (comment-count-vm) Make it not auto-dispose
- (comment-count-vm) Make its mock not auto-dispose too
- (comment-count-vm-test) Delete the comment using the correct view-model
- (android) Fix
enableOnBackInvokedCallback
warning in manifest - (user_avatar_color) Remove class UserAvatarColor
- (user_avatar) Remove unused import
- (post-feed) Set to false in map popup
- (comment) Fix the comment circular value bug
- (validation-tests) Remove duplicate test
- (new-comment-validation-test) Fix CI
- (docs) Remove wrong MS
🚜 Refactor
- (post details) Using new factory method
- (map pop up) Marker are now created in the view because they require context
- (info pop up) Removed duplicated code by creating an abstract class
- (map pin viewmodel test) Moved test
- (map) Moved post map into components
- (map-pin-test) Clean setup
- (map-pin-test) Make test function abstraction
- (map-pin-test) Rename test function
- (map-pin-test) Set parameters to be named
- (mock-map-page) Remove unused ProviderScope
- (map-pin-pop-up) Pass the mapPopUpDetails directly to the MapPinPopUp widget
- (override-pin-viewmodel) Remove unused parameter in the constructor
- (comment-count) Remove unnecessary await
- (comment-count) Remove setCount function
- (types) Spit the types from
types.dart
into separate types - (user_avatar_color) Move user avatar color computation to a separate file
📚 Documentation
- (map-test) Add documentation to the testPopUp method
- (map-pop-up-details) Add documentation for the MapPopUpDetails class
- (post details) Add documentation for the class and factory
- (comment-count) Add documentation to view-model
- (comment-count) Improve documentation about auto-dispose
- Add documentation to MockPostCommentCountViewModel
- (circular-value) Update documentation to accomodate
future
refactor - (user_avatar_details) Improve class argument documention
- (readme) First version of polished readme
- (readme) Screenshots spacing
- (comment) Explain query limit for hasUserCommentedUnderPost
- (new-post-validation-test) Rename group description
🎨 Styling
- (map-pin-viewmodel) Remove an unused variable
- (map-pin-test) Remove unnecessary refresh
- (map-pin-test) Remove unnecessary pin getting
- (comment-count-test) Reuse already existing variable
🧪 Testing
- (pin viewmodel) Added context to the override
- (map pin viewmodel) Changed existing tests so that they work with the new features
- (map) Added provider scope with no pin viewmodel override
- (map pin viewmodel) New test that checks the behaviour of the callback function
- (map pin viewmodel) New callback test
- (map-pin-test) Add tests for myPosts and challenges
- (map-pin) Check popup content
- (comment-count) Verify comment count update on navigation
- (comment-count-vm) Test for refresh after comment list refresh
- (comment-count-vm) Test for refresh after comment deletion
- (offline-vote) Add
MockErrorFirebaseTransaction
for testing errors - (offline-vote) Regression test using
MockErrorFirebaseTransaction
- (error-refresh) Fix test using the actual displayed text
- (offline) Test the new offline alert dialog when circular timeout
- (circular-value) Use
Durations.short1
in tests - (circular-value) Add the optional
builder
parameter tocircularValueProvider
- (user_centauri_points_vm) Add unit tests
- (user_centauri_points_vm) Add integration test
- (comment_details) Use isNot(equals()) matcher for inequality
- (ranking_element_details) Use isNot(equals()) matcher for inequality
- (user_centauri_points_vm) Remove used user repository in unit tests
- (post_comment) Fix mock comment details according to the associated comment
- (provider_ranking) Wrap MaterialApp with UncontrolledProviderScope
- (post-feed) Update hash test of post details
- (post-feed) Update comment repository mock
- (post-feed) Add test for the method
- (post-feed) Mock the comment repositories for the unit tests
- (post-feed) Add test for exposing if the user has commented under a post
- (comment) Add tests for the data class CommentCountDetails
- (post-feed) Update mock comment count view model
- (post-feed) Update expected comment count
- (post-feed) Add test for the exposing of isIconBlue
- (post-feed) Add mock data for comment count details
- (create-account-validation-test) Add tests for inequality
- (new-comment-validation) Test NewCommentValidation class overrides
⚙️ Miscellaneous Tasks
- (release) Check that tag does not already exist
- Bump app version to v0.4.1
- Bump project version to v0.4.2
Fîx
- (map-pin-test) Test for the correct user in the post page
Opt
- (comment-count-vm) Make refresh closer to the point where the new posts has been fetched