Commit graph

278 commits

Author SHA1 Message Date
b4a15e8b14 ci: remove unnecessary code cov archiving
Code coverage is now uploaded and saved to codecov
2021-07-27 17:53:20 +02:00
423887b314 ci: setup codecov 2021-07-27 17:29:26 +02:00
e476243b85 test: create initial unit tests 2021-07-18 21:57:38 +02:00
be7fb7d13a build: fix issue where frontend was included in backend tsc build 2021-06-22 21:06:35 +02:00
5096b0910d ci: add ci workflow to run tests and linting 2021-06-22 21:06:35 +02:00
7546c38bef ci: update release workflow versions 2021-06-22 21:06:35 +02:00
3695fb7182 refactor(api): replace deprecated DNSHealthCheck 2021-06-22 21:06:35 +02:00
73bba4ef68 refactor(api): remove deprecated function and rename exception 2021-06-22 20:34:55 +02:00
semantic-release-bot
5ef650a6dc chore(release): 1.13.0 [skip ci]
# [1.13.0](https://github.com/apricote/Listory/compare/v1.12.0...v1.13.0) (2021-05-25)

### Features

* **server:** save genres for artists and albums ([3c6f328](3c6f3289f1))
2021-05-25 17:37:42 +00:00
c28aee3e8c chore(deps): upgrade to npm7 lockfile format 2021-05-25 19:33:11 +02:00
3c6f3289f1 feat(server): save genres for artists and albums
This can later be used for reports
2021-05-25 19:23:42 +02:00
9b96d0fab4 chore(lint): switch to eslint 2021-05-25 18:12:42 +02:00
f56548e432 chore: run prettier format 2021-05-25 16:02:00 +02:00
semantic-release-bot
b6c7c9e16d chore(release): 1.12.0 [skip ci]
# [1.12.0](https://github.com/apricote/Listory/compare/v1.11.1...v1.12.0) (2021-05-24)

### Bug Fixes

* **deps:** pin dependency @digikare/nestjs-prom to 1.0.0 ([3dee999](3dee999df6))

### Features

* **frontend:** add footer with version number ([2aaf582](2aaf582245))
2021-05-24 18:46:31 +00:00
274f6cd0c7 chore(deps): upgrade to node 16 2021-05-24 20:41:36 +02:00
ed6a0fcbd6 chore(deps): upgrade api & frontend dependencies 2021-05-24 20:41:36 +02:00
2aaf582245 feat(frontend): add footer with version number 2021-05-24 19:00:07 +02:00
89faaa508b
Merge pull request #94 from apricote/renovate/passport-jwt-3.x
chore(deps): update dependency @types/passport-jwt to v3.0.5
2021-05-24 15:47:00 +02:00
2f3c4b2e25
Merge pull request #93 from apricote/renovate/jest-26.x
chore(deps): update dependency @types/jest to v26.0.23
2021-05-24 15:46:46 +02:00
f01a0b2046
Merge pull request #92 from apricote/renovate/express-4.x
chore(deps): update dependency @types/express to v4.17.11
2021-05-24 15:46:32 +02:00
90232524b3
Merge pull request #91 from apricote/renovate/pin-dependencies
fix(deps): pin dependency @digikare/nestjs-prom to 1.0.0
2021-05-24 15:45:45 +02:00
Renovate Bot
bba9783871
chore(deps): update dependency @types/passport-jwt to v3.0.5 2021-05-24 02:05:43 +00:00
Renovate Bot
e5dfe73fbd
chore(deps): update dependency @types/jest to v26.0.23 2021-05-24 02:04:51 +00:00
Renovate Bot
837002f645
chore(deps): update dependency @types/express to v4.17.11 2021-05-24 00:42:40 +00:00
Renovate Bot
3dee999df6
fix(deps): pin dependency @digikare/nestjs-prom to 1.0.0 2021-05-24 00:41:48 +00:00
semantic-release-bot
e743cd7c59 chore(release): 1.11.1 [skip ci]
## [1.11.1](https://github.com/apricote/Listory/compare/v1.11.0...v1.11.1) (2021-05-22)

### Bug Fixes

* **build:** tailwind config was missing from build ([06268c0](06268c0cf6))
2021-05-22 15:58:16 +00:00
06268c0cf6 fix(build): tailwind config was missing from build 2021-05-22 17:54:05 +02:00
b7b5f0ddd7 chore(frontend): update caniuse db 2021-05-22 17:54:05 +02:00
semantic-release-bot
0be60c48fe chore(release): 1.11.0 [skip ci]
# [1.11.0](https://github.com/apricote/Listory/compare/v1.10.1...v1.11.0) (2021-05-22)

### Features

* **frontend:** add visual indicator to top lists ([8377b2f](8377b2f6d0))
* add top tracks report ([51fd78f](51fd78f6d9))
2021-05-22 15:46:12 +00:00
8377b2f6d0 feat(frontend): add visual indicator to top lists 2021-05-22 17:36:03 +02:00
3228b22741 chore(frontend): upgrade to tailwind v2 2021-05-22 17:36:03 +02:00
461762f678 chore(deps): fix versions for sentry 2021-05-22 17:36:03 +02:00
51fd78f6d9 feat: add top tracks report 2021-05-22 15:10:05 +02:00
renovate[bot]
60dc25f15e
chore(deps): update dependency axios to v0.21.1 [security] (#85) [skip ci]
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-22 15:07:56 +02:00
semantic-release-bot
751957801c chore(release): 1.10.1 [skip ci]
## [1.10.1](https://github.com/apricote/Listory/compare/v1.10.0...v1.10.1) (2021-05-20)

### Bug Fixes

* **api:** continue crawling when access token refresh fails for one user ([0c2188c](0c2188c4d4))
2021-05-20 17:24:02 +00:00
0c2188c4d4 fix(api): continue crawling when access token refresh fails for one user 2021-05-20 19:19:24 +02:00
721f979cc8 build(frontend): add tailwind config 2020-12-12 15:13:52 +01:00
semantic-release-bot
7bc91b5576 chore(release): 1.10.0 [skip ci]
# [1.10.0](https://github.com/apricote/Listory/compare/v1.9.0...v1.10.0) (2020-12-06)

### Features

* add optional basic auth for metrics endpoint ([879c6a6](879c6a62e2))
* **helm:** add option to enable prometheus metrics ([a609720](a6097204c7))
2020-12-06 02:08:58 +00:00
879c6a62e2 feat: add optional basic auth for metrics endpoint 2020-12-06 03:03:33 +01:00
a6097204c7 feat(helm): add option to enable prometheus metrics 2020-12-06 02:44:36 +01:00
semantic-release-bot
822355eedb chore(release): 1.9.0 [skip ci]
# [1.9.0](https://github.com/apricote/Listory/compare/v1.8.0...v1.9.0) (2020-11-28)

### Bug Fixes

* **api:** missed listens from spotify ([5ca3437](5ca3437b59))

### Features

* **api:** custom spotify crawler interval ([66fd6ce](66fd6ce1b4))
2020-11-28 17:34:02 +00:00
66fd6ce1b4 feat(api): custom spotify crawler interval 2020-11-28 18:28:38 +01:00
97f5ef70ac refactor(api): improve function naming in spotify source 2020-11-28 17:56:49 +01:00
5ca3437b59 fix(api): missed listens from spotify
Listory could miss some listens when the Spotify Api misbehaves.

Sometimes the listens added to the last-recently-played endpoint
are showing up are out-of-order.

Because of our optimization to only retrieve listens newer than
the lastRefreshTime we would skip retrieving those out-of-order listens.

By always retrieving the maximum 50 listens we can be reasonably
sure that we got all the listens.

We also had to improve the handling of duplicate listens, as we now
have a lot of them, curtesy of removing the lastRefreshTime
optimization.
2020-11-28 17:55:19 +01:00
semantic-release-bot
52a0dc79ce chore(release): 1.8.0 [skip ci]
# [1.8.0](https://github.com/apricote/Listory/compare/v1.7.4...v1.8.0) (2020-11-21)

### Features

* **api:** add prometheus metrics ([e2056b4](e2056b4734))
2020-11-21 19:29:00 +00:00
e2056b4734 feat(api): add prometheus metrics
Currently we support metrics for the Node.js runtime and HTTP endpoints.
2020-11-21 19:55:53 +01:00
9869f0a061 refactor(api): improve logging around spotify crawling loop 2020-11-21 17:43:04 +01:00
semantic-release-bot
3aa90797c1 chore(release): 1.7.4 [skip ci]
## [1.7.4](https://github.com/apricote/Listory/compare/v1.7.3...v1.7.4) (2020-11-21)

### Bug Fixes

* **api:** db error on duplicate music library import ([fcc2f7d](fcc2f7d1b6))
2020-11-21 16:05:33 +00:00
fcc2f7d1b6 fix(api): db error on duplicate music library import
When the spotify crawler loop would import an artist multiple
times in parallel the first would succeed but the following queries
would throw with following exception:

    QueryFailedError: duplicate key value violates unique constraint "IDX_ARTIST_SPOTIFY_ID"

This error also could happen for the album or track.
2020-11-21 17:00:33 +01:00
0e431e9aa8 style(helm): run prettier and add templates to prettierignore 2020-11-21 15:53:51 +01:00