github IgnisDa/ryot v8.7.1

latest releases: v9.6.2, v9.6.1, v9.6.0...
7 months ago

What's Changed

  • 44f1d8f4 - Update GitHub Actions workflow to use latest Ubuntu version
  • 6b964227 - Trakt: sort history before starting import (#1360)
  • 0904f631 - Allow adding assets to measurements (#1356)
  • d471a097 - Update GitHub Actions workflow dependencies to latest versions
  • f389896e - Modal trigger to edit exercise details (#1353)
  • b62b9365 - Assign multiple collections to media item at once (#1350)
  • 42fd4524 - Normalize assets in the database (#1349)
  • f692b28a - Respect filters when performing bulk collection actions (#1346)
  • 0532aa21 - Allow updatin integration credentials (#1345)
  • 75cc5498 - fix(frontend): handle onboarding tour edge cases
  • b55d46e3 - Override user unit system on an active workout (#1344)
  • c7d7ed60 - Commit search results before display (#1343)
  • 54998d26 - Suggestions for collections (#1340)
  • ca98cff0 - Add boolean collection extra information field type (#1336)
  • 81dd4dd0 - fix(frontend): allow refreshing recommendations in the dashboard
  • 4a409415 - Move trending and recommendations fetching to client side (#1334)
  • 80b17b66 - Send notifications when item is removed from monitoring (#1331)
  • 377fc2db - Trending metadata section (#1311)
  • 4045ea3e - Allow configuring number of items in list pages via preferences (#1329)
  • 01d095e8 - Update dependencies (#1322)
  • c85b0f8e - fix(frontend): Refactor dashboard preferences handling to utilize cloneDeep for state management
  • 7964a9af - Display reviews for people and groups (#1320)
  • c43b60b9 - Import GenericJson provider_watched_on (#1319)
  • 7c70d4b2 - Allow reviewing out of 10 (#1313)
  • e60ba9b6 - fix(backend): expire cache key for UserMetadataRecommendationsSet
  • 5ff8ac8d - Recommendations enhancements (#1309)
  • 6816f20b - Increase expiry for onboarding tour cookie (#1308)
  • c2535e89 - Localize recommendations to user (#1305)
  • 9fb5531f - Move recommendations fetching to client side (#1303)
  • 35105561 - fix(frontend): clone dashboard element before editing it
  • 313e20ab - Update openidconnect (#1249)
  • 59b104cc - Always open exercise details (#1302)
  • 8ebb2ecd - New recommendation strategy (#1295)
  • 9821ec0b - Default landing page (#1293)
  • 5653ef00 - Onboarding tour for new users (#1280)
  • a8d31357 - Add support for MarkPlayed event from Jellyfin (#1288)
  • 4cce9ec1 - Auto launch OIDC (#1285)
  • 1a13bddf - feat(migrations): conditionally add configured events column to notification platform
  • aaecf387 - feat(frontend): enhance media item season details display
  • 5112be57 - refactor(frontend): update UserMetadataList query input structure
  • c51f8341 - General improvements (#1277)
  • cb60be39 - Move notification preferences to notification_platform table (#1275)
  • a6c3390d - refactor(frontend): remove ufo withFragment usage in fitness routes
  • 74c888c0 - Display alert when workouts are scheduled for revision (#1273)
  • a2b7d113 - Remove user_notification table (#1272)
  • 6a6032ed - Fixed media tracker import if user has custom lists (#1270)
  • 6834f64d - Change id for superset (#1269)
  • e3a44f12 - Fix fitness entity list page when no elements (#1268)
  • 0f6c4129 - docs: change name of header
  • 465fb165 - fix(migrations): correct check for is_demo
  • 5fc49966 - chore: upgrade dependencies
  • 1dfe6866 - feat(backend): change import schema
  • f5ee1d80 - ci: remove useless step
  • 164e6d7b - Live updates in the imports page (#1258)
  • 631fd488 - Fix bug in workout logging (#1256)
  • b15244da - More details in metadata (show) card (#1253)
  • 049862e0 - fix(frontend): remove incorrect invariant call
  • 3cfcba3a - Minor updates (#1239)
  • 8d7c9d58 - chore(frontend): bring back one collection filter
  • 2c807902 - Advanced filter collections (#1251)
  • 935704e1 - feat(website): write the config to a json file
  • 65cf1c8b - Hide settings section if in access link session (#1248)
  • 7d426796 - Store integration trigger result (#1247)
  • c3203915 - Update outdated links (#1246)
  • bb4db9f2 - ci: build all images using cross
  • 287293a3 - Workout tracking enhancements (#1242)
  • 979a6bdc - feat(website): changes for self hosting cloud version
  • 70c5c7e3 - Person related changes (#1240)
  • 822a22b3 - Display day of week for fitness entities (#1238)
  • 2e3343af - ci: install wget in containers for health-check
  • 4dfe6443 - fix(migrations): add check before adding new column
  • c0e5ed75 - Allow hiding collections (#1234)
  • 062016d7 - fix(website): get honeypot fields working again
  • a353de97 - Add new exercise lots (#1228)
  • 654c3f51 - fix(backend): handle case when plex directory is empty
  • 5dcec14a - Correct equality check for committing person (#1227)
  • 20d1d82e - build: upgrade all dependencies
  • 12000a2f - Allow customizing unit for calories burnt (#1226)
  • 3c84938c - Allow importing "Collection" from Trakt.tv (#1223)
  • 24d80b82 - fix(frontend): add default secret to toast session storage
  • 79dd3133 - Upgrade frontend to react router v7 (#1219)
  • 7d81766d - Upgrade website to react router v7 (#1214)
  • a86ecc39 - Allow random sorting in list pages (#1212)
  • 2883943b - Allow order by times consumed (#1208)
  • 75693e12 - Allow adding name for integrations (#1204)
  • 3d1752d2 - fix(frontend): fix the start date parameter for all time in analytics page
  • 473255af - Remove dependency on zodix (#1198)
  • 4ac24a87 - fix: handle cases when dashboard is empty
  • ca170112 - perf(services/miscellaneous): do not stream data to delete
  • 9ac06141 - Add youtube music timezone support (#1197)
  • 17d6131c - Hide spoilers in calendar and upcomping section by default (#1194)
  • 11c8565c - [Ryot v8] Custom date filter in media list pages (#1183)
  • a647c2d6 - fix(providers/hardcover): do not unwrap errors directly
  • bc827d54 - fix: minor fixes
  • a6297dba - Allow setting calories burnt for workouts (#1179)
  • da5a2801 - Support for Hardcover integration (#1185)
  • a4bb9e51 - Youtube music integration (#1154)
  • 8b9538ed - docs: improve contribution guide (#1180)
  • 9d33c03b - New import strategy (#1175)
  • 64fccf62 - fix(backend): incorrect query for sending queued notifications
  • 45f49c47 - Button to update entities if they are partial (#1172)
  • 1161083e - Stopwatch during workout logging (#1166)
  • 17cf8333 - fix(services/integration): handle case when ebook progress is returned in place of normal progress
  • e0524239 - fix(migrations): migrate over old workout template data
  • 15c3b291 - Do not include special seasons for shows when updating progress (#1164)
  • b599c241 - Remove workout template visibility (#1159)
  • 99a045ce - fix(backend): do not send notification for workout revision
  • 5babadc6 - Notification for workout created (#1150)
  • 2fa6a59e - feat(frontend): mechanism to handle isPartial metadata
  • 5ad39c69 - fix(frontend): bug fixes for edge cases
  • 215ad7c6 - Allow associating person with metadata groups (#1153)
  • a27d59ff - Allow empty exercises in workout templates (#1151)
  • 18f4c36b - fix(frontend): hard reload when starting new workout
  • 4ab91498 - fix(backend): include provider watched in the cache
  • 8442c5cb - Allow updating custom metadata (#1149)
  • 22036d45 - feat: change name of group by column
  • d77e2b30 - fix(backend): deploy update metadata job before starting import
  • 5e1a32f2 - Workout enhancements (#1142)
  • 69c7878f - fix(services/importer): handle anilist edge cases
  • de5e2565 - Anilist importer (#1138)
  • 94cb414e - Allow editing custom exercises correctly (#1144)
  • c4604685 - Updates (#1137)
  • 466153b0 - fix(utils/database): summary calculation and null ordering
  • 5bc62a47 - perf(backend): update 3 media items at once
  • 98bb0a54 - ci: update permissions for job
  • 0118b8f5 - Add music tracking using YoutubeMusic (#1133)
  • 5230642d - refactor: cache core details in the database
  • ead24c6c - Start caching search responses (#1132)
  • 127c40ff - ci: run zizmor on the github action
  • 315fd788 - Merge pull request #1127 from IgnisDa/issue-966
  • 52cb1584 - chore(backend): remove as many usages of crate:: as possible
  • 2a1f439f - refactor(services/importer): fn to parse a date string
  • 479b994e - refactor(backend): derive expiry from key names
  • 972cd012 - feat(backend): export id as well for exercises
  • e2f90452 - ci: Run CI
  • eaa948a0 - refactor(frontend): change order of props
  • ee28bcae - feat(frontend): do not show graph if there are no values
  • b4efc46f - feat(services/importer): also import the set rpe
  • 9f6eb19d - refactor(services/importer): change order of attributes specified
  • 260b264b - chore(utils/dependent): schedule user for workout revision if workouts were imported
  • b3fdf321 - refactor(services/importer): use new utility function to associate with exercise
  • d40b4940 - docs: add info about heavy imports
  • 042edc89 - refactor(services/importer): use inbuilt csv parser
  • 15ddd688 - chore(services/importer): add support for imperial units
  • 7130331f - feat(services/importer): allow importing hevy data
  • a1a7d1ea - feat(frontend): allow uploading for hevy
  • 7280ed15 - feat(backend): start implementation for hevy import
  • b84789c9 - Merge pull request #1126 from IgnisDa/issue-1125
  • 29cd04d3 - perf(services/exporter): remove n+1 query
  • b0864430 - docs: fix grammar
  • 85304350 - feat(frontend): send rpe settings to backend
  • 0da7c855 - feat(frontend): allow adjust rpe
  • 3290bfcd - chore: remove useless file
  • fc426f9f - docs: update running docs
  • d22d5156 - chore: remove devcontainer config
  • 0fec608f - feat(frontend): add information about RPE
  • 310d70ba - feat(frontend): allow opening modal to adjust RPE
  • ade53291 - chore(frontend): remove padding and change wordings
  • 76fe6086 - chore(frontend): allow setting rpe for sets
  • b0b64bcc - chore(gql): request rpe field for a set
  • 0aac9ed9 - feat(backend): allow setting rpe for sets
  • 5977c919 - Merge branch 'issue-1113'
  • 97936a0b - Merge pull request #1118 from IgnisDa/issue-1113
  • e8d524e5 - chore(services/importer): log the total number of metadata
  • c097c4a3 - ci: Run CI
  • fa75b94f - feat(frontend): hide analytics graph for non pro users
  • b1688fc3 - refactor(frontend): change watch times to enum
  • b7dc3896 - refactor(frontend): change it to an enum
  • f828f6ca - feat(frontend): add pro validation for saving image
  • f0a1f011 - fix(frontend): additional padding for statistics card
  • 17606c35 - fix(frontend): additional padding for statistics card
  • c28971d2 - feat(frontend): hide counter in captured screenshot
  • 890195e0 - feat(frontend): display watermark in captured screenshot
  • 3716cb78 - fix(frontend): better position for workout btn
  • 2eb14b7a - feat(frontend): format workout reps number with compact notation
  • 3691a082 - feat(ts-utils): add function to format numbers
  • f04cdb3c - feat(frontend): make the text dim
  • a82296b9 - refactor(frontend): create correct props
  • 2f1058e1 - ci: Run CI
  • 1a357e73 - feat(frontend): display rest time
  • e63a4d44 - fix(utils/database): store rest time in correct unit
  • a92158e8 - feat(backend): return total rest time
  • ecfb135e - feat(frontend): display distance travelled
  • 58b2409a - feat(frontend): display fitness statistics
  • 0c43a84a - feat(backend): return some other data
  • 7041c038 - feat(backend): do not use application cache for user workout revision
  • 637ea6b5 - fix(frontend): handle cases when no daily user activities are present
  • 43d356ca - refactor(frontend): some minor changes
  • 1a415561 - feat(frontend): make loader more presentable
  • 185940e8 - feat(frontend): add skeleton loader for fitness entity
  • 3b7932a2 - feat(frontend): adapt to new gql schema
  • ddab3236 - fix(services/fitness): specify column of correct model
  • 03055aa5 - feat(backend): return only the id for workouts and workout templates list queries
  • 2412236d - docs: improve documentation
  • 3cd412fb - ci: Run CI
  • cf64da06 - feat(backend): allow syncing to owned collection from plex
  • c3a549af - docs: add info about ryot yank integration
  • 91309b7c - fix(frontend): do not make input required
  • 67d557e4 - feat(frontend): adapt to new gql schema
  • ec0c05dd - fix(services/user): respect sync to owned collection in input
  • 2b428a58 - feat(backend): migrate for existing plex sink integrations
  • f6daa6b0 - refactor(backend): sync data to owned collection separately
  • be66235b - chore(services/importer): add some more logs in plex importer
  • 4ec06d50 - chore(frontend): remove useless zod usage
  • b10a1d12 - fix(frontend): better wording
  • 15e4f47e - perf(models): do not serialize none values
  • a703de52 - ci: Run CI
  • e32b782c - perf(backend): save user's analytics parameters
  • 65557de9 - feat(frontend): capture screen after 1.5 seconds
  • 67cb41d5 - feat(frontend): use new loader query
  • 9dd24207 - refactor(services/statistics): call function serially
  • 9c1b1878 - build(backend): change dependency tree
  • 09a9fc9d - fix(services/statistics): apply null ordering
  • 29179836 - feat(backend): add query to get user analytics parameters
  • 815f34e2 - feat(frontend): adapt to new gql schema
  • bf14d4d1 - refactor(backend): collapse two queries into one
  • ebc65df7 - feat(frontend): adapt to new graphql schema
  • be860b6b - feat(backend): get rid of latest user summary query
  • 7614d2f7 - refactor(models/common): move structs around
  • 32b5924b - refactor(backend): move models around
  • d1e477fc - build(backend): change dependency tree
  • 68e1fa56 - build(backend): change dependency tree
  • aa9fb5ef - ci: Run CI
  • cbabaf8d - fix(frontend): remove curly braces
  • 069e1301 - refactor(backend): do not create new services for integrations
  • 32c95b9d - ci: Run CI
  • 1c6189fb - fix(frontend): render filter only on the frontend
  • 3ab7b64f - feat(frontend): do not change case a lot
  • d619692c - fix(migrations): collapse two queries into one
  • 07c0bcc7 - feat(backend): send user measurements
  • ecf7e5cc - chore(services/importer): import set lot for strong app
  • ed28bb0c - fix(services/importer): select correct attribute of exercise
  • 9f4bbe77 - fix(services/importer): select correct attribute of exercise
  • c9a916ea - refactor(backend): extract common fn to generate exercise id
  • 79a95b24 - fix(services/importer): send correct details to the importer
  • 69d2a650 - feat(frontend): adapt to new gql schema
  • c73804fe - feat(backend): change name key of workouts to id
  • 8d006ec0 - fix(backend): do not schedule user for workout revision if exercise name changed
  • 5e2c20da - fix(frontend): cleanup remaining stuff
  • c93e7e8b - ci: Run CI
  • d5966047 - chore(frontend): adapt to new gql schema
  • e1e8da06 - feat(frontend): start adapting to new graphql schema
  • fa099b72 - feat(migrations): change names of indices
  • e8b32b54 - feat(backend): allow naming exercises similarly
  • 3ec736c4 - feat(backend): start making identifier the primary column
  • 935f1fb1 - chore(frontend): sort attributes by length
  • fef9cd8c - feat(frontend): filter out hours which do not have anything associated
  • fcb8b5d5 - Revert "chore(frontend): always display chart"
  • d80fc949 - chore(frontend): always display chart
  • 84e99a87 - feat(frontend): display polar radius axis
  • a7158b1e - ci: Run CI
  • be8a43a8 - feat(frontend): display all entity types in scatter chart
  • 7e157cb9 - feat(backend): return user analytics correctly
  • a8fa2767 - Revert "Revert "feat(backend): return entire analytics from single endpoint""
  • 2f3dc47a - fix(frontend): time of day
  • cc179a67 - feat(frontend): display workout counts
  • bdcd9526 - feat(frontend): use radar chart for time of day
  • a4882743 - feat(frontend): adjust activity section to be more in sync with other graphs
  • 245df92d - feat(frontend): move activity graph to analytics section
  • 3ab5d9df - feat(backend): remove the activity section
  • 843bbc06 - feat(frontend): do not display border if not applicable
  • 1017d922 - feat(frontend): move to using new grid container
  • 31f97132 - Merge branch 'main' into issue-1113
  • c1a65d65 - feat(services/importer): use let guard
  • 1c5f780b - fix(frontend): add background color to container to fix screenshots
  • c1ac11ca - feat(frontend): button to download the analytics page as png
  • bd53be24 - build(frontend): add screenshot deps
  • 338c839a - feat(frontend): display time ranges for analytics page
  • cb7b68d2 - feat(frontend): change the time of day graph
  • d3057457 - fix(frontend): do not display counter if not allowed
  • 6138332a - feat(frontend): load analytics page on client side
  • 4f9b0f60 - refactor(frontend): remove duplicated code
  • 9bd6b0b4 - feat(frontend): allow starting media from outside
  • 07c74da5 - chore(frontend): run formatter
  • ef9dd4dd - feat(frontend): respect features enabled when displaying fitness charts
  • 001debcc - Revert "feat(backend): return entire analytics from single endpoint"
  • f20a4de6 - feat(backend): return entire analytics from single endpoint
  • 734312d4 - chore(frontend): adapt to new gql schema
  • 6eea05bb - chore(backend): lift up analytics
  • ee306464 - fix(services/misc): do not get recommendations for custom metadata
  • 5ddf9938 - ci: Run CI
  • 0061298e - refactor(utils/dependent): use filter instead of mutable variable
  • 1a9295f5 - fix(utils/dependent): use Epley for reps higher than 10
  • cc7a9997 - chore(services/fitness): add log for each user whose workouts are being revised
  • 1d8efbbc - fix(migrations): run query only when there are more than 0 users
  • 6c126fea - fix(migrations): insert correct cache value into database
  • c2806c3c - fix(utils/dependent): use Epley formula for one rm calculation below 10 reps
  • 53726cdb - chore(migrations): schedule all users for workout revision
  • 258a1566 - feat(frontend): display when entity interacted with
  • 9063154a - feat(backend): mark metadata as recently consumed
  • fdeba1b8 - feat(backend): get whether person and metadata group were recently consumed
  • 1ec772bf - refactor(backend): functions to mark and get entity recently consumed
  • 4d3740a1 - fix(frontend): make box-shadow smaller
  • 3cf6da39 - chore(frontend): sort prop ordering
  • 8fa47e6e - chore(frontend): change some colors
  • c5ec5594 - feat(frontend): highlight media which are currently in progress
  • 06a3d9d9 - feat(backend): return whether media is recently consumed
  • accbb4a6 - feat(utils/dependent): mark metadata as recently consumed when marking progress
  • 416be3b0 - feat(models/common): add key for metadata recently consumed
  • bb14bd7d - refactor(models/common): order of enum elements
  • 2b9b9f4b - docs: change word of release section
  • 2f5b5ccc - docs: change orders of headings
  • 0ba6a99c - docs: move instructions around
  • 81de5553 - fix(frontend): send old event attribute
  • 44c11a30 - perf(utils/database): preselect all exercises
  • 7578880c - build(ts): update nodejs deps
  • 3dedb56e - chore(services/fitness): add log statement
  • 187010ee - feat(backend): implement scheduled workout revision
  • 6562e94b - feat(backend): deploy all changes at once
  • 25819372 - chore(utils/database): add log after scheduling
  • d1113210 - feat(backend): allow scheduling user for workout revision
  • de2e6e15 - fix(frontend): change btn text
  • 2da56a50 - feat: change "re-evaluate" to "revise"
  • f48047e7 - chore(migrations): add fixme comment
  • 509efcd8 - perf(utils/dependent): only get key if cache is being respect
  • a1ded4cb - chore(backend): general changes
  • 97e8804d - feat: more resilient logic for validating pro keys
  • 6d63ab96 - chore(backend): change names of jobs
  • 7b32251a - chore(backend): make the expiry of application cache nullable
  • cfbf161b - fix(services/statistics): change fallback to include in same millenium
  • 673e24ef - fix(services/statistics): adjust daily user activity calculation to new database schema
  • c97da8ac - feat(backend): adjust daily user activity calculation to new database schema
  • 5cf23c95 - feat(migrations): drop entire table and recreate it
  • 6fc91413 - feat(migrations): new columns for daily_user_activity
  • 664b36ab - chore(enums): some other changes
  • 95d9a7a9 - Merge branch 'main' into issue-1113
  • 3aa95f1b - Import movies and shows from Plex (#1122)
  • c623456f - perf(services/fitness): do not cast json to text when filtering on muscles
  • 1271a9a2 - Allow reviewing only show seasons (#1124)
  • 4af5829e - fix(providers): do not unwrap directly
  • 4f595be6 - Perform typescript upgrade (#1121)
  • ebb71459 - feat(frontend): remove scroll margin when it is no longer first exercise
  • e759bbb5 - feat(frontend): display the active episode for shows and podcasts
  • b757fb2f - feat(frontend): allow excluding exercise from analytics
  • aca3fda1 - fix(services/fitness): handle edge case for updating exercise settings
  • 831425c9 - feat(utils/database): respect new exercise setting
  • 9ce1d04a - feat(backend): setting to exclude exercise from analytics
  • 35019ef5 - docs: better wording for authentication caveat
  • abd96706 - chore(frontend): better types of stuff
  • 8f99589d - feat(frontend): display bubble chart for time of day
  • 29d244a2 - fix(frontend): generate correct arrays
  • d1401b69 - feat(frontend): generate correct data for time of day chart
  • 993bc3ee - fix(utils/database): calculate hour correctly
  • 160a9543 - feat(frontend): start section to display time of day
  • 14af0b12 - feat(frontend): function to convert utc hour to local hour
  • a6c08377 - chore(frontend): change how props are structured
  • 9cf4e74a - chore(frontend): select entire text when focusing on input
  • 8f943d1b - fix(frontend): remove text align from page heading
  • 33f28dad - Merge branch 'main' into issue-1113
  • 1a7ff30b - Allow muting sounds in workout logging (#1120)
  • fcbebc73 - feat(frontend): use better colors for graphs
  • 825ed521 - chore(gql): fix formatting of query
  • 581c1f3c - chore(frontend): minor changes to graphs
  • c158727c - refactor(backend): change function names
  • dce86b11 - chore(backend): adapt to new database schema
  • 6e79e670 - chore(migrations): make column non nullable
  • db0947e3 - fix(providers): cache tmdb settings in the database
  • 79ff3c86 - feat(backend): save tmdb settings in application cache
  • f2fec30b - perf(backend): do not make a useless clone
  • cf757545 - refactor(backend): change function name
  • 6d010b0c - perf(backend): remove extra parameter
  • 1fe5871e - feat(backend): save listennotes settings in application cache
  • 2faaf1f4 - feat(backend): save igdb settings in application cache
  • 5f68630f - Merge branch 'main' into issue-1113
  • b866e5b7 - Better strategy for getting identifier from book ISBN (#1117)
  • 47794fa5 - feat(frontend): handle cases when no analytics present
  • 38b4e113 - chore(frontend): minor enhancements to chart
  • 037202d2 - feat(frontend): add bar chart for exercises done
  • 628d0825 - chore(docs): remove fragment from link
  • 1200f9ea - feat(frontend): also allow setting analytics timespan to "All Time"
  • 1f7c55e1 - feat(frontend): save count of muscles shown in local storage
  • e7995f41 - feat(frontend): allow changing how many muscles to display
  • 11fcaad5 - refactor(frontend): extract component to display chart container
  • f02330a8 - feat(frontend): display basic pie chart
  • e6e50688 - Revert "chore(services/cache): log when cache key found"
  • ca8e59df - chore(services/cache): log when cache key found
  • 34b57508 - feat(frontend): fetch data for fitness analytics
  • 9189043f - feat(frontend): allow specifying custom time ranges
  • 17589b5b - feat(frontend): get fallback search params
  • 6315b210 - feat(frontend): do most calculations on the server loader
  • 935ad4dd - feat(frontend): design basic webpage
  • 3f349d85 - feat(frontend): add fitness analytics to sidebar
  • e50e905a - feat(backend): add new preference for fitness analytics
  • 76cedd5e - fix(frontend): pass correct schema to parser
  • 84429bf4 - feat(frontend): add basic fitness analytics page
  • 6bd9e696 - feat(backend): cache fitness analytics for 2 hours
  • d41fa647 - feat(backend): allow saving value in application cache
  • 7885b14d - feat(migrations): add new column to store value
  • e3c05ba3 - feat(backend): compute additional fields
  • bb4b0634 - feat(backend): complete implementation of fitness statistics
  • 45966688 - feat(services/statistics): calculate hour counts
  • d4a7e753 - build(services/statistics): add new deps to crate
  • dd715e7e - feat(backend): add query fragment for fitness analytics
  • cac10a48 - feat(backend): add new query for getting fitness analytics
  • 89b93b18 - build(backend): add new required deps
  • 6160b204 - build(models/dependent): add new deps
  • dac8fd76 - feat(models): add new struct to return response for analytics
  • b0c1d90b - chore(utils): add debug logs for user activity calculation
  • 9633ee7a - chore(frontend): adapt to new gql schema
  • c45defbf - chore(backend): add comment to input struct
  • 01587f6e - chore(backend): common input struct for date range
  • d9b8837e - chore: make start date less than end date
  • 7293becc - chore: make start time less than end time
  • b2d498a6 - Merge branch 'main' into issue-1113
  • e49585af - fix(frontend): icon changes
  • 7e4599ee - Merge branch 'main' into issue-1113
  • c1c9ffe2 - Change favicons (#1115)
  • 91f9577a - chore(backend): change data type of muscles stored in db
  • 24f3a739 - feat(backend): store data in new dua columns
  • 614729e7 - chore(migrations): remove newlines
  • 61d7c40c - feat(migrations): create new columns for daily user activities
  • 3812629c - fix(frontend): minor react errors
  • 2aa73682 - Allow collapsing sidebar in desktop mode (#1112)
  • d5f1e11c - docs: add information about telemetry
  • 6722ceb9 - Minor updates (#1109)
  • 1c10b349 - chore(frontend): do not display weight in workout list if 0
  • 48ec0dbb - New fitness graphs (#1108)
  • e6a0985d - fix(frontend): handle some workout logging edge cases
  • fc6cbb18 - New metrics for workouts and templates (#1104)
  • f1057605 - fix(frontend): set correct workout key
  • 2cb1443c - General bug fixes (#1102)
  • 0dc7a00d - chore: general housekeeping
  • d2557e47 - perf(backend): remove useless clones
  • 81e97cf6 - fix(frontend): allow recovering from malformed auth cookies
  • 4e11d893 - New calendar page (#1096)
  • e75f765d - fix(frontend): use correct schema for creating integrations
  • a1125998 - Display inline progress for media progress (#1093)
  • 55203139 - Improved documentation and website (#1082)
  • c399b0da - feat(backend): return external identifiers for metadata_details query (#1092)
  • eb644f73 - Deduplicate media items for upcoming section (#1089)
  • d62dc9f3 - Send additional details to *arr integrations (#1081)
  • 22b89ebc - New preference for workout logging (#1085)
  • 177b7971 - Bidirectional Jellyfin sync (#1075)
  • e7ab8ebf - chore(frontend): prefill type of while creating custom media
  • 664b3c95 - fix(frontend): remove incorrect input for supersets
  • e7bbfb13 - chore(frontend): changes to exrrcise display
  • b88e8794 - fix(*): general fixes
  • cc66f81c - Better logic for monitored entities (#1074)
  • a6163bff - Minor fixes (#1073)
  • 4028eb03 - fix(migrations): add guard statement to prevent null values in workout summaries
  • 23fd852f - Better workout UI (#1064)
  • 7d8e9778 - fix(services/integration): switched push integrations
  • 1aaf92ab - fix(frontend): clone request before using
  • 619a8155 - fix(backend): respect cache when making progress updates from integrations
  • d7a4922d - fix(frontend): get export button working
  • c909f1bc - Upcoming projects for people (#1061)
  • 46371a91 - chore(services/integration): add logging and some general improvements
  • 8f7b5b8c - Webhook to import generic json (#1017)
  • efe47368 - feat: enable LTO (#1060)
  • 7990a8ab - fix(frontend): hook to get watch providers
  • 447da082 - Granular watch providers (#1057)
  • 8f2c2f40 - Bulk add items to collection (#1055)
  • ecd4c9e8 - Move seen cache to database (#1053)
  • e258b3dd - Allow associating seen with review (#1051)
  • 1802268e - Allow editing workouts (#1050)
  • 5aef90b0 - Trigger notification when timer is completed (#1048)
  • dba3403b - Allow changing grid size (#1047)
  • 228d5a28 - Open source pro (#1040)
  • 0aaacc0b - fix(importer): incorrect trakt entries being imported
  • 1dac299d - fix(services/user): correct admin check for deleting user
  • 79dacd2b - perf(backend): only fetch yank integrations
  • b59a2ea5 - fix(backend): unwrap provider specifics only when needed
  • 16a7f55d - Integrations refactor (#1034)
  • 621ae876 - feat(frontend): revalidate page once mutation has been deployed
  • ff30ef8c - Added IOS18 Detection (#1030)
  • a2fc9eed - Remove granular count (#1037)
  • 72c80089 - fix(frontend): disable query once no longer partial
  • 641dff03 - fix(frontend): do not request for useless information while getting partial details
  • fdeb3b23 - Put entites in partial state (#1026)
  • 7764990b - fix(services/fitness): deploy job to re-evaluate workout when time changes (#1024)
  • 54d146db - fix(backend): three point smiley conversion
  • a0c6660c - feat(frontend): display 3 point review in other places
  • 357ae1be - 3 point smiley rating (#1022)
  • fba67647 - Export workout collections (#1013)
  • cd44a985 - Redirect to page 1 if on invalid page (#1010)
  • 5eb6a156 - fix(frontend): increase timeout for focusing on exercise
  • 938fc14f - chore: minor code changes
  • 3bb2da6e - Merge branch 'main' of https://github.com/IgnisDa/ryot
  • e56fef7a - View for storing monitored entities (#1003)
  • ddb4c4d8 - ci: remove conditional elses
  • 46b611aa - Moved Manga chapters over to Decimals for fractional releases (#1002)
  • 5fcf0c78 - fix(frontend): move button to menu item
  • bcc02622 - fix(providers): type error for anilist
  • ceaeca52 - Backporting the ratelimit from ryot-pro (#1006)
  • 3b6b9226 - Remove user_to_collection table (#1000)
  • dbacb336 - fix(frontend): do not split by comma-space
  • 66c0c2ef - feat(frontend): add menu item to reorder exercise
  • a5297aa3 - feat(services): do not deploy jobs to calculate summary
  • a5b47d20 - build(frontend): install remix development tools
  • eb5a258d - fix(frontend): revalidate routes when starting/stopping workouts
  • 6eee495c - build(ts): add resolution for types react
  • ee26f8e1 - Allow removing media item from list pages (#998)
  • 94fe7601 - ci: use variable in reverse proxy configuration
  • 6d6817ce - ci: extract reverse proxy urls to variables
  • 50b8e9ce - fix(backend): remove connection limits from database
  • eead3969 - build(frontend): move filesize to deps
  • 92fcdfd1 - Exercise charts (#975)
  • 6c26c9fe - fix: unnecessary slash (#987)
  • e78fa105 - Merge branch 'main' of https://github.com/IgnisDa/ryot
  • 09239b95 - perf(misc): do not request additional details for review title
  • 1d537a30 - fix(frontend): delete source before processing using zod
  • 3abd10a1 - feat: allow sorting by provider rating
  • 992af8fa - fix(services): allow sorting by user rating
  • d4a31e09 - Resolved bug with urls introduced in e31071f (#979)
  • 6850055b - chore: info about major upgrade
  • eda1a278 - Resolved bug where we assumed timezone (#977)
  • c218f2cc - chore(migrations): change order in which migrations are run
  • 7589584a - chore(backend,frontend): backend improvements
  • 7ccfcad1 - fix(fitness): account for non-existent workouts in PRs
  • bfd4b53c - More counts for displaying summary (#974)
  • edbd26f1 - fix(backend): minor errors
  • 54ec2220 - fix(providers): remove trailing slashes from base urls
  • b369586f - fix(statistics): delete old activity record before inserting new one
  • ff3778ab - feat(backend): remove the google books API key
  • 82e86cb1 - fix(providers): remove trailing slash from base urls
  • 02257e10 - feat(backend): add last_login_on column to users
  • 898a9738 - feat(backend,frontend): store entire history of exercise
  • 714661ed - chore(frontend,docs): minor changes
  • e31071f5 - Statistics and graphs (#971)
  • 5ef81a7c - ci: hardcode docker username
  • 56943259 - ci: add secret for docker username
  • f537c107 - Komga implementation (#943)
  • 62d2b437 - V7 upgrade (#969)
  • 1b8b9821 - Introduced media status for anilist (#972)
  • d884135e - chore(backend): use transaction for creating collections
  • 61416c4d - fix(frontend): select correct first index
  • 2317c9be - chore(migrations): final v6 migration
  • ea0236d7 - feat(frontend): make redirect cookies long lived
  • 2ec1686f - Backend-refactor (#960)
  • 171f7d1c - Multiple collection filters (#963)
  • 2caea290 - Anime airing schedule (#961)
  • d5cc4076 - ci: install curl in container
  • 79307879 - ci: update action for changelog generation
  • 240a4372 - ci: also publish latest tag for releases
  • d218745e - ci: remove enable attribute
  • 161e0e7e - ci: add cross-rs build (#939)
  • b1c1069e - Addressed bug with Finished Condition during background tasks (#957)
  • 15a3fe9c - Event emitter (#955)
  • 01af4185 - PWA Icon fix (#948)
  • ce75b95d - Fixed bug in review score rendering (#949)
  • 2d4da191 - Collection Inversion Filter (#945)
  • a451df48 - Fix missing "ps" terminal command (#944)
  • ba13ecb7 - Showcase new features (#946)
  • 9d091000 - feat(backend): use api key for google books
  • b0ed55b2 - Workout enhancements (#940)
  • 2b40a688 - docs: update outdated information
  • 5bdaa2e7 - ci: fix arm64 build

Don't miss a new ryot release

NewReleases is sending notifications on new releases.