beeminder / BeeSwift

Official Beeminder for iOS app
Other
29 stars 5 forks source link

Make Goal mutable and able to be updated #352

Closed theospears closed 1 year ago

theospears commented 1 year ago

Originally Goal objects were immutable and replaced on change. However, as we move towards an architecture where there are objects which keep references to goals, it makes more sense to have them be mutable and updated (and ideally with only one instance per goal). This was somewhat true before, but has become more explicit with recent changes.

Here we allow goals to be refreshed, update some controllers to use this functionality, and address some resulting concurrency issues.

Test Plan: Smoke test running locally for a while