Skip to main content

Changelog

⚠️ Note: This changelog may be outdated. For the most up-to-date information, please refer to the OnePub CHANGELOG.md file.

[1.2.4] (2025-04-22, non-breaking)

  • bump firebase dependencies to support Firebase SDK 11.0.0

[1.2.3] (2024-12-12, non-breaking)

[1.2.2] (2024-12-12, non-breaking)

[1.2.1] (2024-12-04, non-breaking)

  • updated checkUseKeyframeBasedRepCounter logic to check repPoseId in lesson sessions.
  • updated _updateRepCounter to fetch by repPoseId
  • updated with PresetPoseLandmarkWeights WHOLE_BODY changed to FULL_BODY
  • upgraded gofa_core to 1.1.0
    • switched audio library from "assets_audio_player" to "just_audio" due to build error, "assets_audio_player" is not actively maintained

[1.2.0] (2024-11-03, non-breaking)

  • upgraded share_plus to 10.1.2

[1.1.27] (2024-11-02, non-breaking)

  • fixed meditation screen to enable wakelock

[1.1.26] (2024-10-29, non-breaking)

  • updated firebase fetch functions for lessons/plans with membershipTier as request data

[1.1.25] (2024-09-26, non-breaking)

  • updated Lesson List page title as "AI Health Plan" and "AI 運動計劃"

[1.1.24] (2024-09-23, non-breaking)

  • updated: check for using rep counting 2.0 by lesson video id available in LessonTimedPoseLandmarkMaps or RepPoses collection

[1.1.23] (2024-09-10, non-breaking)

  • fixed: lesson details start with dumbbell, the bottom sheet is transparent. fixed by adding background color and barrier color to the bottom sheet
  • fixed: plan details > click lesson, the bottom sheet layout is a bit broken. fixed by adding background color and barrier color to the bottom sheet
  • updated: RepCounter and TimedPoseLandmarkMapLoader to prioritize loading from new VideoPoseLandmarkTimeSeries collection.
  • ad-hoc: added Rep Testing to supportedKeyframeBasedRepLessonNames to temporary support short lessons for rep counting 2.0
  • updated all copywriting texts according to Bupa copywriting guideline
  • delayed planFinished trigger for 2 seconds to allow the last lesson's lessonCancelled/lessonFinished to be processed first

[1.1.22] (2024-09-08, non-breaking)

  • fixed: plan details > view statistics -> null exception. reproduced by reset plan before re-starting it;
  • fixed: wrongly triggered planEnded issue. fixed by adding back the missing trigger condition for planFinished
  • refactor planUtil.updateFirestorePlanPlay to guard against planPlay.completedLessons.length >= planPlay.plannedLessons.length; save the unnecessary firestore roundtrips

[1.1.20], 1.1.21 (2024-09-03, non-breaking)

  • added back button in lesson calibration screen so that user can go back to previous screen, especially for iPhone without physical back button
  • exposed class Localizable from gofa_types via gofa_lessons
  • fixed LessonSdkManager.init to support re-login
  • lesson result screen support text wrap if the session title is too long
  • lesson result screen will display lesson data from play.lesson directly if any, instead of fetching from firestore again, so that snapshot data of the lesson is displayed
  • improved recent activity
    • single lesson display results from play.lesson directly if any, instead of fetching from firestore again, so that snapshot data of the lesson is displayed
    • plan play display results from planPlay.plan and planPlay.lessons directly if any, instead of fetching from firestore again, so that snapshot data of the plan and lessons are displayed
  • added new properties to Plan class: duration and expiryReminder
  • Updated skip cool down to also skip empty session in between
  • depend on gofa_types ^1.0.3

[1.1.19]

  • changed import 'package:gofa_lessons/src/helpers/client_util.dart'; to import '../helpers/client_util.dart';
  • added back pubspec.lock to .gitignore, because it should not be included in the package, let main flutter app decide the version of the dependencies

[1.1.18]

  • fixing the dependency issue from gofa_lessons to gofa_firebase

[1.1.17]

  • fixing the dependency issue from gofa_lessons to gofa_types

[1.1.16]

  • made passRatio configurable by firestore Client.settings

[1.1.15]

  • expose Environment and environmentFromString from gofa_types to gofa_lessons

[1.1.14]

  • added GofaLessonLocalization for share texts across Lesson Result/Meditation Result/Plan Summary
  • added callback object data for lesson play, plan, planPlay
  • test: triggerCallbacks with compute to avoid UI blocking
  • major refactoring: use lessonId instead of lessonUniqueID

[1.1.13]

  • updated gofa_mediapipe_pose to add the following to resolve blank screen issue in Android device. dependency_overrides: webview_flutter_android: 3.16.1

[1.1.12]

  • updated share text for lesson result screen and plan summary screen share feature

[1.1.11]

  • updated dependencies to latest version: wakelock_plus 1.2.5 device_info_plus 10.1.0 share_plus 9.0.0

[1.1.8], 1.1.9, 1.1.10

  • fixed gofa_mediapipe_pose version issue

[1.1.7]

  • updated Exit GOFA prompt button text: Exit and Stay
  • fixed onLessonCancelled bug on LessonSdkManager.updateCallback, didn't pass the passed parameter correctly
    • fetch latest play data from firestore again before updateCallback
  • minor improved introduction pages navigation by adding 'How it works...' text link
  • changed settings header name to "Information"

[1.1.6]

  • added settings page to gofa_lessons
  • updated gofa_utils dependency

[1.1.5]

  • fixed breaking exception caused by outdated dependency on gofa_mediapipe_pose 1.1.2, should be 1.1.4

[1.1.4]

  • fixed LessonSdkManager.init will handle GofaLessonLocalizations.loadLessonAttributes()

[1.1.3]

  • fixed LessonSplitScreen _updateRepCounter() to use firestore() instead of FirebaseFirestore.instance

[1.1.2]

  • fixed lesson split screen issue: no need load local pose model lite

[1.1.1]

  • fixed LessonSdkManager init issue

[1.1.0]

  • preparing for official release

[1.0.0]

  • major change. removed all dependencies to google_mlkit_pose_detection and replaced with gofa_mediapipe_pose

[0.2.0]

  • major refactoring to initalize LessonSdkManager
    • fixed that if initialization fails, it pop back to previous screen and shows the error toast message

[0.1.6]

  • fixed White Screen issue by marking AudioManager provider as lazy

[0.1.5]

  • fixed AudioManager by using GetIt instead of Provider to locate the singleton instance

[0.1.4]

  • fixed Image.Asset package issue
  • fixing AudioManager
    • ProviderNotFoundException (Error: Could not find the correct Provider<AudioManager> above this LessonSplitScreen Widget)

[0.1.3]

  • upgraded gofa_firebase to 0.0.2
  • upgraded gofa_core to 0.0.2
  • upgraded gofa_algo to 0.0.2

[0.1.2]

  • migrated images to gofa_lessons assets folder

[0.1.1]

  • add logic to check and update status when all lessons are completed

[0.1.0]

  • added firestore support to lesson plans
  • improved engagement lesson play

[0.0.6]

  • added engagement level in lesson play
    • with engagement level bar and explosion effect
  • Updated Plan type.
    • updated lessons as string array
    • added tags as string array
    • added targetAreas as string array

[0.0.5]

  • Added share feature to lesson summary screen

[0.0.4]

  • Major refactoring to rename firestore collection name and field names
  • Updated LessonSdkManager().init parameters: updateCallback so that it takes enum UpdateCallbackEvent instead of String
  • Added cancelled status to lesson play
  • Added bottom footer with version
  • Adding share feature

[0.0.3]

  • Added lesson plan screen flows
  • Added disclaimer action sheet
  • Added dumbbell action sheet
  • Added lesson summary screen
  • Added lesson plan detail action sheet
  • Refactored lesson detail screen

[0.0.2]

  • Added tutorial and tooltip for Gofa Lessons

[0.0.1]

  • Added lesson screens and logic, work in progress.