Skip to content

Develop#462

Merged
tentamdin merged 34 commits into
mainfrom
develop
Jun 29, 2026
Merged

Develop#462
tentamdin merged 34 commits into
mainfrom
develop

Conversation

@tentamdin

@tentamdin tentamdin commented Jun 29, 2026

Copy link
Copy Markdown
Member
  • update deeplink
  • bookmark toggle
  • group page update and fixes
  • calendar fix
  • update add session UI and logic fixes

dhakar66 and others added 30 commits June 27, 2026 11:31
- Updated 'meta' package to version 1.17.0 and 'test_api' package to version 0.7.7 in pubspec.lock.
- Modified Podfile.lock to reflect updated checksums for several dependencies, including Firebase and connectivity packages.
- Enhanced UI in edit_routine_screen.dart by adding padding and background styling to the Done button.
- Improved routine_filled_state.dart and routine_item_card.dart for better visual presentation and consistency in item cards.
- Refactored routine_time_block.dart to enhance layout and interaction for routine items, including a delete button and improved card styling.
…o routine management

- Introduced MantraSessionSelection class to represent mantra selections from the Malas tab.
- Updated EditRoutineScreen to handle mantra selections and prevent duplicate entries in routine blocks.
- Enhanced SelectSessionScreen to include a new tab for Malas, allowing users to select mantras for their routines.
- Updated firebase_messaging to a new version in Podfile.lock.
- Refactored logic in edit_routine_screen.dart to improve block handling and button visibility.
- Enhanced select_session_screen.dart by integrating CachedNetworkImage for better image rendering and improved placeholder handling.
- Added localization support by importing AppLocalizations.
- Updated screen titles and tab labels to use localized strings for better internationalization.
- Enhanced timer display to include localized minute text.
Production releases (push to main) now derive the next semver from the
Conventional Commits / branch names landed since the last release tag and
bump pubspec.yaml automatically — replacing the manual "chore: bump version".

  feat! / fix! / BREAKING CHANGE, or a breaking|major/* branch -> major
  feat:, or a feat|feature/* branch                            -> minor
  everything else (fix, chore, …) and the no-convention case   -> patch

How it fits together:
- ci/scripts/bump_version.sh computes the level and rewrites pubspec.yaml
  (build metadata preserved; CI still sets the real build number).
- release-prod.yml gains a `version` job that runs the script, commits the
  bump back to main with [skip ci], and feeds the new version to both build
  jobs; the GitHub Release is tagged from it.
- build-android.yml / build-ios.yml gain an optional, backward-compatible
  `version_name` input (falls back to reading pubspec when absent, so dev
  releases and any other callers are unchanged).

The version flows from pubspec via --build-name to the Play Store build, the
App Store build, AND the in-app Settings page (PackageInfo), so this single
bump keeps all three in sync — no Dart/native changes needed.

CONTRIBUTING.md documents the commit/branch conventions for contributors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…consistency. did mainly the white backgroud.
…us screens

- Added a new bookmark toggle feature in the SeriesMoreBottomSheet, ReaderMoreBottomSheet, TimerMoreBottomSheet, and MalaSettingsSheet.
- Updated the BookmarkController to handle toggling bookmarks instead of just creating them.
- Introduced a new BookmarkExistsResult model to check if a bookmark exists before toggling.
- Refactored related UI components to reflect bookmark state changes with appropriate icons and loading indicators.
- Enhanced the bookmark functionality in the BookmarkRemoteDatasource and BookmarkRepository for better error handling and state management.
…n integration.

the bottom up sheet now convers up the navigation bar everywhere on the app.
…etching

- Introduced a caching mechanism for bookmark existence checks to improve UI responsiveness.
- Added prefetching of bookmark states in various screens, including SeriesDetailScreen, MalaScreen, and ReaderScreen.
- Refactored bookmark-related providers to streamline the retrieval and management of bookmark states.
- Updated UI components to utilize the new caching and prefetching logic for better performance and user experience.
- Modified toggle methods in BookmarkController to return a boolean indicating success or failure.
- Updated UI components in SeriesMoreBottomSheet, ReaderMoreBottomSheet, TimerMoreBottomSheet, and MalaSettingsSheet to handle the new return value, ensuring navigation only occurs on successful toggles.
- Improved user experience by preventing navigation when the toggle action is blocked by guest login.
- Added authentication check to prevent navigation for guest users when accessing bookmarks.
- Introduced LoginDrawer to prompt guest users for login before proceeding to bookmarks.
- Cleaned up commented-out code related to snack bar notifications for a more streamlined implementation.
- release-dev (develop): compute the next version like prod and build the
  dev/TestFlight app with it, but DON'T commit. The real bump stays prod-only,
  so promoting develop -> main bumps once, not twice — while still letting you
  test the upcoming version on the dev track.
- bump_version.sh: base the bump on max(pubspec, highest release tag) so a dev
  build whose develop pubspec lags the last prod release stays ahead of what
  already shipped instead of re-previewing it.
- bump_version.sh: only treat "BREAKING CHANGE" as major when it's a proper
  Conventional-Commits footer (line-start, uppercase, colon) — prose can no
  longer trigger a spurious major bump.
- CONTRIBUTING.md: trim to a short, scannable table.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…feedback

- Changed the ID generation for routine items to use a UUID for uniqueness.
- Added duplicate item check in the routine block to prevent adding the same recitation.
- Enhanced user feedback with SnackBar notifications for duplicate entries.
- Refactored SelectSessionScreen to improve error handling and refresh functionality, replacing the ErrorStateWidget with a more user-friendly message display.
…e integration

- Updated SessionRequest to conditionally include 'accumulator_id' for accumulator sessions.
- Refactored source ID retrieval in SessionDTO to handle accumulator sessions correctly.
- Introduced _AccumulatorCoverImage widget for better handling of cover images in RoutineItemCard.
- Improved UI feedback for accumulator sessions in edit_routine_screen.dart.
chore(dependencies): update package versions and improve UI components
… handling. trying to solve the cold start app condition
chore:  sub plan navigation button update
chore:  bottom up sheet now covers up the navigation bar everywhere on the app.
@tentamdin
tentamdin merged commit 59c15fc into main Jun 29, 2026
1 of 4 checks passed
@greptile-apps

greptile-apps Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Confidence Score: 4/5

The group page follower path needs a fix before merging.

  • Page profiles can ask for followers while the data layer always calls the members endpoint.
  • Timer session identity now changes across local state and hydrated API state, which can affect state keyed by routine item id.
  • The rest of the reviewed flows look consistent with their callers.

lib/features/group_profile/data/datasource/group_profile_remote_datasource.dart; lib/features/practice/presentation/screens/edit_routine_screen.dart

Reviews (1): Last reviewed commit: "Merge pull request #460 from OpenPecha/f..." | Re-trigger Greptile

Comment on lines +98 to +99
'/author/groups/$groupId/members',
queryParameters: {'skip': skip, 'limit': limit},

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Page Followers Use Members Endpoint

GroupProfileMembersTab shows followers for page groups, but this fetcher always calls /author/groups/{id}/members and does not receive GroupType. Opening a page profile can therefore load the wrong collection, or show an empty/error follower tab even when the page has followers.


RoutineItem _routineItemFromTimer(PresetTimer timer) => RoutineItem(
id: timer.id,
id: _uuid.v4(),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Timer Identity Changes After Sync

New timer items now use a local UUID as RoutineItem.id, while timer API payloads omit source_id and hydrated timer sessions fall back to the server session id. Any routine state keyed by item.id can stop matching after save, reload, or server hydration, so timer-specific progress or notification reconciliation can treat the same timer session as a different item.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants