Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Youtube music integration #1154

Open
wants to merge 108 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
bcd2437
build(backend): upgrade aws sdk s3 deps
IgnisDa Dec 27, 2024
8c03b5f
build(backend): update deps
IgnisDa Dec 27, 2024
afa169b
build: depend on git version of project
IgnisDa Dec 27, 2024
0a910f9
build(backend): update deps
IgnisDa Dec 27, 2024
b75afa0
feat(backend): add new integration provider
IgnisDa Dec 27, 2024
d91ce0c
feat(service/integration): start adding basic code for youtube music …
IgnisDa Dec 27, 2024
fa1cc41
feat(frontend): allow creating youtube music integration
IgnisDa Dec 27, 2024
a2cd887
fix(services/user): make youtube music a yank provider
IgnisDa Dec 27, 2024
aa77cd3
fix(frontend): do not allow adjust progress for yt music integration
IgnisDa Dec 27, 2024
6ca49fa
feat(backend): get basic history fetching workng
IgnisDa Dec 27, 2024
cd3ab10
docs: add information about youtube music integration
IgnisDa Dec 27, 2024
b4c3d48
feat(frontend): add link to docs for youtube music history
IgnisDa Dec 27, 2024
7c362b0
feat(frontend): remove useless text from input description
IgnisDa Dec 27, 2024
62e18ca
docs: remove useless header
IgnisDa Dec 27, 2024
ff36b7c
docs: remove useless header
IgnisDa Dec 27, 2024
1129686
feat(backend): cache key for youtube music history synced
IgnisDa Dec 27, 2024
c7a039c
feat(services/integration): run yt music integration for the day only…
IgnisDa Dec 27, 2024
50a8058
refactor(services/integration): move yt caching logic to inside integ…
IgnisDa Dec 27, 2024
8bdf4ad
refactor(services/integration): change name of variable
IgnisDa Dec 27, 2024
17f9f3c
refactor(services/integration): remove usage of if let Some
IgnisDa Dec 27, 2024
b2b8f91
Merge branch 'main' into youtube-music-integration
IgnisDa Dec 28, 2024
38b49ee
feat(services/integration): download youtube music history
IgnisDa Dec 28, 2024
5866ca9
refactor(backend): extract common function
IgnisDa Dec 28, 2024
f1c89f8
feat(backend): do not perform updates if entity is not partial
IgnisDa Dec 28, 2024
7bb33f3
feat(backend): deploy jobs to update music
IgnisDa Dec 28, 2024
1213c7f
fix(frontend): disable tooltip when name is not defined
IgnisDa Dec 28, 2024
3e0b54b
fix(services/integration): fallback for ended on for seen history cor…
IgnisDa Dec 28, 2024
010334e
fix(utils/dependent): update all metadata to be partial
IgnisDa Dec 28, 2024
198ef2f
feat(frontend): display group link inline
IgnisDa Dec 28, 2024
855aa7f
chore(frontend): do not use ternary operator
IgnisDa Dec 28, 2024
bd2ab99
refactor(frontend): use correct react imports
IgnisDa Dec 28, 2024
d437ee0
fix(utils/database): update correct values of statistics
IgnisDa Dec 28, 2024
c03e199
feat(backend): calculate music stuff correctly
IgnisDa Dec 28, 2024
0b5b24e
fix(utils/database): calculate correct music duration
IgnisDa Dec 28, 2024
b0c7720
feat(frontend): display summary stats for music
IgnisDa Dec 28, 2024
3ffcd20
feat(backend): new strategy for youtube music import
IgnisDa Dec 28, 2024
0124787
chore(services/integration): process youtube music history in reverse
IgnisDa Dec 28, 2024
02920d5
fix(services/integration): specify provider using media source
IgnisDa Dec 28, 2024
01fc5d4
ci: Run CI
IgnisDa Dec 28, 2024
18a8920
feat(backend): allow getting caches for multiple values
IgnisDa Dec 29, 2024
c6fda2c
perf(backend): do not do multiple queries for youtube music integration
IgnisDa Dec 29, 2024
9410450
fix(frontend): do not perform reduce when not applicable
IgnisDa Dec 29, 2024
6aac5d6
chore(services/cache): remove useless code cast
IgnisDa Dec 29, 2024
45b032e
Merge branch 'main' into youtube-music-integration
IgnisDa Dec 29, 2024
c9421bd
ci: Run CI
IgnisDa Dec 29, 2024
81e3da6
Merge branch 'main' into youtube-music-integration
IgnisDa Dec 29, 2024
5dca4aa
fix(frontend): display some information about the workout template
IgnisDa Dec 29, 2024
2127070
fix(services/cache): do not always respect application cache version
IgnisDa Dec 29, 2024
e04645c
refactor(services/cache): rename variable
IgnisDa Dec 29, 2024
911fd10
refactor(services/cache): remove nesting in loop
IgnisDa Dec 29, 2024
1ce48cd
refactor(services/cache): change function signatures
IgnisDa Dec 29, 2024
37fb8a3
ci: Run CI
IgnisDa Dec 29, 2024
f937932
fix(services/integration): update last triggered on for push integrat…
IgnisDa Dec 30, 2024
dfd813c
fix(services/integration): update last triggered on for push integrat…
IgnisDa Dec 30, 2024
d189a4f
refactor(services/integration): common function to update triggered_at
IgnisDa Dec 30, 2024
2bf7563
Merge branch 'main' into youtube-music-integration
IgnisDa Jan 2, 2025
4399759
feat(frontend): make youtube music a pro integration
IgnisDa Jan 2, 2025
4407b6d
build(docs): add badges deps
IgnisDa Jan 2, 2025
c40e020
ci(docs): enable the badges plugin
IgnisDa Jan 2, 2025
fc81c34
docs: add indication about pro integrations
IgnisDa Jan 2, 2025
928171b
docs: add info about pro integrations
IgnisDa Jan 2, 2025
9a00d23
ci: Run CI
IgnisDa Jan 2, 2025
77d23ac
build(backend): upgrade deps
IgnisDa Jan 2, 2025
a17b809
build(backend): add comment about axum upgrade
IgnisDa Jan 2, 2025
78facfa
feat(backend): validate server key before running
IgnisDa Jan 3, 2025
1225855
refactor(backend): use inbuilt function
IgnisDa Jan 3, 2025
2bd5da4
refactor(utils/dependent): acquire lock only after checkig cache
IgnisDa Jan 3, 2025
1793c25
fix(frontend): take progress updates for youtube music
IgnisDa Jan 3, 2025
2d4ad64
feat(backend): implement logic for youtube music
IgnisDa Jan 3, 2025
5c1579d
refactor(backend): better caching of daya
IgnisDa Jan 3, 2025
614d973
refactor(services/integration): remove lowercase provider
IgnisDa Jan 3, 2025
bf02281
fix(services/integration): also commit the title of the song
IgnisDa Jan 3, 2025
1ee9e57
refactor(backend): change name of struct
IgnisDa Jan 3, 2025
eb59634
Revert "refactor(backend): change name of struct"
IgnisDa Jan 3, 2025
09ba10e
fix(models/database): do not set the finished on in active model
IgnisDa Jan 4, 2025
3c83fed
chore(utils/dependent): change order of attributes
IgnisDa Jan 4, 2025
181d5eb
build(backend): upgrade rustypipe version
IgnisDa Jan 5, 2025
8398cc5
feat(services/integration): select correct items from history
IgnisDa Jan 5, 2025
2b45696
ci: Run CI
IgnisDa Jan 5, 2025
6dec338
refactor(services/integration): remove useless collect
IgnisDa Jan 5, 2025
ecf60e5
refactor(services/integration): use clone for iterator
IgnisDa Jan 5, 2025
f4b387e
feat(frontend): select correct next exercise if it is already complete
IgnisDa Jan 6, 2025
6060b0e
feat(frontend): scroll to top when workout complete
IgnisDa Jan 6, 2025
e376dfe
refactor(frontend): extract to variable
IgnisDa Jan 6, 2025
015291b
feat(frontend): use variable in another place
IgnisDa Jan 6, 2025
8c83a35
fix(frontend): focus on next exercise only after committing changes i…
IgnisDa Jan 6, 2025
3b9db90
refactor(backend): change name of mutations and queries
IgnisDa Jan 6, 2025
f76fcca
chore(frontend): adapt to new gql schema
IgnisDa Jan 6, 2025
d777954
chore(frontend): change name of action
IgnisDa Jan 6, 2025
a7993fe
feat(backend): cache recommendations in the database
IgnisDa Jan 6, 2025
0980ed4
refactor(backend): do not have useless nesting in cache values
IgnisDa Jan 6, 2025
fa217cf
refactor(backend): remove the concept of recommendations key
IgnisDa Jan 7, 2025
72762c8
chore(frontend): adapt to new gql schema
IgnisDa Jan 7, 2025
ebfe110
feat(backend): store specific metadata enabled as array
IgnisDa Jan 7, 2025
33a476d
feat(migrations): add migration for new media specific features enabled
IgnisDa Jan 7, 2025
92095c3
chore(frontend): start adapting to new preferences schema
IgnisDa Jan 7, 2025
0c506ed
feat(frontend): respect new preferences schema structure
IgnisDa Jan 7, 2025
10bb6f6
build(services/user): add `rand` deps
IgnisDa Jan 8, 2025
18f9df5
feat(services/user): new logic for getting recommendations
IgnisDa Jan 8, 2025
c719e9b
refactor(frontend): extract summary into a component
IgnisDa Jan 8, 2025
b8d1770
fix(frontend): display correct summary
IgnisDa Jan 8, 2025
721f58e
fix(models/database): set correct `finished_on`
IgnisDa Jan 8, 2025
c5e3d8a
refactor(frontend): move to separate file
IgnisDa Jan 8, 2025
e2dce95
feat(frontend): display summary section
IgnisDa Jan 8, 2025
4451bed
ci: Run CI
IgnisDa Jan 8, 2025
6f5a60c
docs: better comments
IgnisDa Jan 8, 2025
066e1d7
chore(frontend): remove summary section from analytics page
IgnisDa Jan 9, 2025
2a5557a
Merge branch 'main' into youtube-music-integration
IgnisDa Jan 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
665 changes: 320 additions & 345 deletions Cargo.lock

Large diffs are not rendered by default.

43 changes: 22 additions & 21 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -48,23 +48,24 @@ members = [
resolver = "2"

[workspace.dependencies]
askama = "0.12.1"
anyhow = "=1.0.93"
askama = "=0.12.1"
anyhow = "=1.0.95"
apalis = { version = "=0.6.2", features = ["catch-panic", "limit", "retry"] }
apalis-cron = "=0.6.2"
argon2 = "=0.6.0-pre.1"
async-graphql = { version = "=7.0.11", features = [
async-graphql = { version = "=7.0.13", features = [
"chrono",
"decimal",
"log",
"tracing",
] }
async-graphql-axum = "=7.0.11"
async-graphql-axum = "=7.0.13"
async-trait = "=0.1.83"
aws-sdk-s3 = { version = "=1.63.0", features = ["behavior-version-latest"] }
aws-sdk-s3 = { version = "=1.67.0", features = ["behavior-version-latest"] }
# TODO: Update when https://github.com/async-graphql/async-graphql/pull/1653 is merged
axum = { version = "=0.7.9", features = ["macros", "multipart"] }
boilermates = "=0.3.0"
chrono = "=0.4.38"
chrono = "=0.4.39"
chrono-tz = "=0.10.0"
compile-time = "=0.2.0"
const-str = "=0.5.7"
Expand All @@ -89,13 +90,13 @@ flate2 = "=1.0.35"
futures = "=0.3.31"
graphql_client = "=0.14.0"
hashbag = "=0.1.12"
http = "=1.1.0"
http = "=1.2.0"
indexmap = "=2.7.0"
indoc = "=2.0.5"
isolang = { version = "=2.4.0", features = ["list_languages"] }
itertools = "=0.13.0"
itertools = "=0.14.0"
jsonwebtoken = { version = "=9.3.0", default-features = false }
lettre = "=0.11.10"
lettre = "=0.11.11"
logs-wheel = "=0.3.1"
markdown = "=1.0.0-alpha.21"
mime_guess = "=2.0.5"
Expand All @@ -109,7 +110,7 @@ regex = "=1.11.1"
rust_decimal = "=1.36.0"
rust_decimal_macros = "=1.36.0"
rust_iso3166 = "=0.1.13"
rustypipe = "0.7.2"
rustypipe = { git = "https://codeberg.org/ThetaDev/rustypipe.git", branch = "feat/user-history" }
schematic = { version = "=0.17.7", features = [
"config",
"env",
Expand All @@ -124,8 +125,8 @@ schematic = { version = "=0.17.7", features = [
"validate",
"yaml",
], default-features = false }
scraper = "=0.21.0"
sea-orm = { version = "=1.1.1", features = [
scraper = "=0.22.0"
sea-orm = { version = "=1.1.3", features = [
"debug-print",
"postgres-array",
"macros",
Expand All @@ -136,21 +137,21 @@ sea-orm = { version = "=1.1.1", features = [
"with-rust_decimal",
"with-uuid",
], default-features = false }
sea-orm-migration = "=1.1.1"
sea-query = "=0.32.0"
serde = { version = "=1.0.215", features = ["derive"] }
serde_json = "=1.0.133"
serde_with = { version = "=3.11.0", features = ["chrono_0_4"] }
sea-orm-migration = "=1.1.3"
sea-query = "=0.32.1"
serde = { version = "=1.0.217", features = ["derive"] }
serde_json = "=1.0.134"
serde_with = { version = "=3.12.0", features = ["chrono_0_4"] }
serde-xml-rs = "=0.6.0"
slug = "=0.1.6"
sonarr-api-rs = "=3.0.0"
sqlx = { version = "=0.8.2", default-features = false, features = ["postgres"] }
strum = { version = "=0.26.3", features = ["derive"] }
struson = { version = "=0.6.0", features = ["serde"] }
reqwest = { version = "=0.12.9", features = ["json", "stream"] }
tokio = { version = "=1.41.1", features = ["full"] }
tokio-util = { version = "=0.7.12", features = ["codec"] }
tower = "=0.5.1"
reqwest = { version = "=0.12.12", features = ["json", "stream"] }
tokio = { version = "=1.42.0", features = ["full"] }
tokio-util = { version = "=0.7.13", features = ["codec"] }
tower = "=0.5.2"
tower-http = { version = "=0.6.2", features = ["catch-panic", "cors", "trace"] }
tracing = { version = "=0.1.41", features = ["attributes"] }
tracing-subscriber = "=0.3.19"
Expand Down
Loading
Loading