Commit Graph

128 Commits

Author SHA1 Message Date
Roland Geider
5574f74a2f Move dashboard visibility settings to own screen
This seems cleaner and can be opened from other places
2026-01-17 12:50:07 +01:00
Roland Geider
077dcaf742 Handle HTML errors in WgerHttpException
These need to be handled separately when the server encounters an error and
returns HTML instead of JSON.
2025-12-17 18:59:45 +01:00
Roland Geider
93a11a16e4 Recreate generated files and reformat the repo
Seems the default dart formatting rules changed recently, and this was causing
huge diffs in branches
2025-10-09 17:39:02 +02:00
Roland Geider
5a4d4c7208 Save the application logs
This allows us to show the logs to the user and also send them along with any
bug reports. This is a simple system that just keeps the last entries in memory
and nothing is stored permanently, but that's ok for our use case and can be
changed in the future if the need arises.
2025-09-06 22:08:35 +02:00
Roland Geider
062389f8a5 Some slight tweaking of main error logging and handling 2025-08-25 19:55:26 +02:00
Roland Geider
94fc157333 Remove dead code and uncomment the dumpErrorToConsole message
This can be useful e.g. for the flatpak versions
2025-08-13 21:20:48 +02:00
Roland Geider
fca80a6d15 Re-enable flutter general error handling, but only in release mode 2025-06-23 11:38:28 +02:00
Roland Geider
e470087f4c Move ConfigureAvailablePlates to its own widget
This makes the corresponding screen to be much clearer
2025-05-27 17:56:55 +02:00
Roland Geider
4bcc268896 Add bar weight and color options to the plate calculator provider 2025-05-27 16:56:12 +02:00
Roland Geider
cce0b94edc Cleanup 2025-05-23 18:44:29 +02:00
Roland Geider
0d36fe4bc3 Polish the add plate widget 2025-05-23 17:41:08 +02:00
Roland Geider
5a8df8936e Move provider to riverpod 2025-05-23 11:52:46 +02:00
Roland Geider
ac13381bcf Some refactoring 2025-05-23 11:06:37 +02:00
Roland Geider
9934209b7c Merge branch 'master' into fork/AyushJagaty/plate-46-calc
# Conflicts:
#	AUTHORS.md
#	ios/Podfile.lock
#	lib/main.dart
#	lib/providers/user.dart
#	lib/widgets/workouts/gym_mode.dart
#	test/nutrition/goldens/nutritional_plan_1_default_view.png
#	test/nutrition/goldens/nutritional_plan_2_one_meal_with_ingredients.png
#	test/nutrition/goldens/nutritional_plan_3_both_meals_with_ingredients.png
#	test/routine/gym_mode_screen_test.dart
2025-05-22 15:27:39 +02:00
Roland Geider
f8000a5454 Catch and handle WgerHttpException specially
This shows the server errors directly in the form, instead of a modal dialog
(which is the default for all the other forms and places that throw the exception)
2025-05-09 13:54:58 +02:00
Roland Geider
7e0910b56b Handle network connectivity a bit different
When the server is not reachable, we show a slightly different error message
and remove the option to automatically create an issue.
2025-05-08 15:07:12 +02:00
Roland Geider
5e22d69bb1 Improve error handling and logging
Now we process and catch all errors that might happen in the application, instead
of silently ignoring them. These errors are shown in a better error dialog, that
shows the details to the user and allows to create an issue on GitHub with the
error and traceback data already filled in.
2025-05-07 18:19:15 +02:00
Roland Geider
61f61a64c5 Merge branch 'master' into feature/improve-min-app-version
# Conflicts:
#	lib/providers/auth.dart
2025-03-31 09:44:43 +02:00
Roland Geider
47f6aa36d3 Formatting 2025-03-29 14:32:58 +01:00
Roland Geider
e4b550ab52 Refactor app version handling and update authentication flow
Previously, this was only triggered when logging in to the application. If a user
just opened the app, it would just stop working. We also now always check this min
version and have removed the option from the android manifest file since disabling
this doesn't make much sense and we have many other platforms as well (iOS, flatpak)
2025-03-28 17:22:36 +01:00
Yashas H Majmudar
529c63c92e migration: migrated all instances of sharedPreferences to sharedPreferencesAsync 2025-03-23 14:26:05 -04:00
Roland Geider
d071d143df Update flutter to 3.29
The translations are not stored in a synthetic package anymore, but the
files are just copied to a specific folder so it can be more easily imported

Also, flutter_barcode_scanner was replaced by simple_barcode_scanner since
the first hasn't been updated in 3 years and was already causing problems
for some time
2025-03-18 17:28:19 +01:00
Roland Geider
58d60310e7 Merge branch 'master' into feature/flexible-routines
# Conflicts:
#	lib/main.dart
#	lib/providers/exercises.dart
#	lib/providers/workout_plans.dart
#	lib/screens/home_tabs_screen.dart
#	pubspec.yaml
2025-01-25 12:50:37 +01:00
Roland Geider
58e7a52e3d Use log levels when logging to console 2025-01-25 12:45:33 +01:00
Roland Geider
eff176f035 Merge branch 'master' into feature/flexible-routines
# Conflicts:
#	lib/main.dart
#	lib/models/exercises/exercise.dart
#	lib/models/exercises/exercise_api.freezed.dart
#	lib/models/workouts/day.g.dart
#	lib/models/workouts/session.g.dart
#	lib/models/workouts/workout_plan.g.dart
#	lib/providers/exercises.dart
#	lib/widgets/core/settings.dart
#	pubspec.lock
#	test/auth/auth_screen_test.mocks.dart
#	test/core/settings_test.mocks.dart
#	test/exercises/contribute_exercise_test.mocks.dart
#	test/gallery/gallery_form_test.mocks.dart
#	test/gallery/gallery_screen_test.mocks.dart
#	test/measurements/measurement_categories_screen_test.mocks.dart
#	test/measurements/measurement_provider_test.mocks.dart
#	test/nutrition/nutritional_meal_form_test.mocks.dart
#	test/nutrition/nutritional_plan_form_test.mocks.dart
#	test/nutrition/nutritional_plan_screen_test.mocks.dart
#	test/nutrition/nutritional_plans_screen_test.mocks.dart
#	test/other/base_provider_test.mocks.dart
#	test/user/provider_test.mocks.dart
#	test/weight/weight_provider_test.mocks.dart
#	test/weight/weight_screen_test.mocks.dart
#	test/workout/gym_mode_screen_test.mocks.dart
#	test/workout/repetition_unit_form_widget_test.mocks.dart
#	test/workout/routine_screen_test.mocks.dart
#	test/workout/routines_provider_test.mocks.dart
#	test/workout/routines_screen_test.mocks.dart
#	test/workout/weight_unit_form_widget_test.mocks.dart
#	test/workout/workout_day_form_test.mocks.dart
#	test/workout/workout_form_test.mocks.dart
#	test/workout/workout_set_form_test.mocks.dart
2025-01-24 15:05:28 +01:00
Roland Geider
86f8b7ae35 Add a third option to the theme mode
This allows the user to use the system settings as well, and not always force
light or dark mode in the app. Also move the logic to the UserProvider and
do some light refactoring.
2025-01-23 23:22:50 +01:00
sangharshdeveloper
8dc72b9fc4 solved json fomatting error from app_en.arb 2025-01-17 22:55:05 +05:30
sangharshdeveloper
06ca72e0f8 #687 enhancement theme-customization 2025-01-17 22:19:54 +05:30
sangharshdeveloper
ced268660b #687 enhancement theme-customization 2025-01-12 20:48:31 +05:30
Jackpkn
fd1ee4295c fix: improve Gym Mode navigation and state persistence 2025-01-06 21:38:33 +05:30
Ayush Sourav Jagaty
78eb620f6c having issue in shared Preferences 2025-01-05 12:39:03 +05:30
Ayush Sourav Jagaty
2395284327 Ayush Sourav Jagaty - <https://github.com/AyushJagaty> 2024-11-30 09:43:47 +05:30
Ayush Sourav Jagaty
b919e622ec User can now customize bar and plate weights 2024-11-27 21:13:27 +05:30
Roland Geider
a35336f57c Allow editing the fit in week toggle as well as start and end dates 2024-11-12 13:31:56 +01:00
Roland Geider
47e36eff48 More refactoring of routine screens and widgets 2024-11-10 15:13:30 +01:00
Roland Geider
5c947375ee Rename provider 2024-11-10 14:48:03 +01:00
Roland Geider
9ff2bba13a Load the new DayData entries and the regular data objects from structure endpoint 2024-10-30 23:19:10 +01:00
Dieter Plaetinck
11ee38c03d dart fix --apply 2024-06-20 15:47:55 +03:00
Dieter Plaetinck
420f9ae16d dcm fix --only-rules=avoid-inferrable-type-arguments lib 2024-06-07 14:59:00 +03:00
Dieter Plaetinck
cf351c3690 dcm fix --only-rules=prefer-declaring-const-constructor lib 2024-06-07 14:59:00 +03:00
Dieter Plaetinck
8db1a7c960 dcm fix --only-rules=unnecessary-trailing-comma lib 2024-06-07 14:59:00 +03:00
Dieter Plaetinck
7f74bff32c dcm fix --only-rules=prefer-trailing-comma lib 2024-06-07 14:59:00 +03:00
Dieter Plaetinck
3922549be8 log meals page + new 'log {meal,ingredient} to diary' dashboard buttons 2024-06-05 16:48:24 +02:00
Dieter Plaetinck
68799b0112 log meal: separate confirmation page with portion choice 2024-05-27 23:53:22 +02:00
Dieter Plaetinck
cb17e48f8e tiny nutrition fixes 2024-04-10 19:03:22 +02:00
Roland Geider
e67d992385 Add (for now) simple settings page to reset the exercise cache
This should be expanded later to allow to re-fetch all available exercises, etc.
2024-01-11 22:13:11 +01:00
Roland Geider
d51b6d7d87 Merge branch 'master' into feat/data-persistence
# Conflicts:
#	lib/main.dart
#	lib/providers/exercises.dart
#	lib/widgets/workouts/day.dart
#	pubspec.lock
#	pubspec.yaml
2024-01-09 15:37:48 +01:00
Roland Geider
dd29126acb Uncomment setLogEnabled
This was making problems when running the application as a flatpak under linux

See #424
2024-01-07 17:28:25 +01:00
Roland Geider
c5cbb4f851 Rework exercise database
This is now separated into individual tables and methods so that they can be
tested separately
2023-12-26 17:03:20 +01:00
Roland Geider
65ba2275ae Run "dart format --line-length=100 ." to make the diff smaller 2023-12-23 16:40:05 +01:00