Compare commits
255 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2a9b0ab405 | ||
|
|
aca8d27b31 | ||
|
|
5bd676a08e | ||
|
|
d46cbc1fd3 | ||
|
|
921db589f0 | ||
|
|
1c0272544c | ||
|
|
a534ba511e | ||
|
|
fc3360ce6d | ||
|
|
bd07a71bc5 | ||
|
|
710a9c3bdf | ||
|
|
f14a0a59d5 | ||
|
|
361b2f437f | ||
|
|
e1102836e7 | ||
|
|
df65513be3 | ||
|
|
70fd22d818 | ||
|
|
30704bae25 | ||
|
|
1827487be4 | ||
|
|
702c1a5bbd | ||
|
|
2ec23584c7 | ||
|
|
260e01a8d5 | ||
|
|
47f8fa1efa | ||
|
|
3afe403f4c | ||
|
|
059052d081 | ||
|
|
79df22b462 | ||
|
|
bbf2050f6a | ||
|
|
f4793be113 | ||
|
|
817ef81b02 | ||
|
|
f8938475ec | ||
|
|
2b5fce6235 | ||
|
|
0105eae4d4 | ||
|
|
234401e53f | ||
|
|
3c1db7e69c | ||
|
|
da6837f01c | ||
|
|
7889f8de37 | ||
|
|
990ecc44cf | ||
|
|
60519572d6 | ||
|
|
1d082af95a | ||
|
|
9a52481d8c | ||
|
|
2e048b6b8b | ||
|
|
be076d269d | ||
|
|
4b8b11f8f1 | ||
|
|
db5d140543 | ||
|
|
417696f1aa | ||
|
|
7b676a2e5e | ||
|
|
d8f66df647 | ||
|
|
16ea2f060d | ||
|
|
2b86fb1f6c | ||
|
|
b2a048cd47 | ||
|
|
66f2a8d7aa | ||
|
|
e5249b0a43 | ||
|
|
909698fdb9 | ||
|
|
64f4781aeb | ||
|
|
99b4e02208 | ||
|
|
f3fd57f44f | ||
|
|
1a06e0d675 | ||
|
|
abd5c427e1 | ||
|
|
d4a52992d6 | ||
|
|
0bdad4196e | ||
|
|
ccfbbf0c6f | ||
|
|
64e40bfcb4 | ||
|
|
73d3d9153c | ||
|
|
21fc712d1b | ||
|
|
5d469f5e7e | ||
|
|
2bb19eaa40 | ||
|
|
24f35cdc29 | ||
|
|
a5c7859fdf | ||
|
|
959a4ba474 | ||
|
|
3703bff353 | ||
|
|
3c562da40d | ||
|
|
8d77cb2203 | ||
|
|
f1e01d8911 | ||
|
|
6e1fa199c5 | ||
|
|
2eb4b561e8 | ||
|
|
dffca16a6d | ||
|
|
c3662cb9f5 | ||
|
|
cf19b7f247 | ||
|
|
353f562d4c | ||
|
|
a96fa6eb1c | ||
|
|
9829a53850 | ||
|
|
c5caa2f91c | ||
|
|
c3018a87f7 | ||
|
|
c4838b3b9e | ||
|
|
63481d0240 | ||
|
|
eb45169060 | ||
|
|
2e3ced0680 | ||
|
|
76f3ce3972 | ||
|
|
cf8bfdf05a | ||
|
|
09a020afbb | ||
|
|
90a5d94147 | ||
|
|
58c7645170 | ||
|
|
d9326dfc7a | ||
|
|
c430047106 | ||
|
|
0048c01f4c | ||
|
|
af3c807d5a | ||
|
|
a2d10756a5 | ||
|
|
6a0f28516b | ||
|
|
25d512899d | ||
|
|
2a0b8b1092 | ||
|
|
76d3dcf64b | ||
|
|
e26fc6c753 | ||
|
|
eb4c37705b | ||
|
|
4ee31f6a94 | ||
|
|
28f24a1c4b | ||
|
|
84e6997cdf | ||
|
|
7f327d0e7b | ||
|
|
b781f16853 | ||
|
|
f44bf25c87 | ||
|
|
79163bf46b | ||
|
|
e2b8de204f | ||
|
|
0b90f6f7f0 | ||
|
|
c2d7d81de8 | ||
|
|
6685e83ebf | ||
|
|
9229bae007 | ||
|
|
40ec71cccf | ||
|
|
b30822fd78 | ||
|
|
42f8a44d97 | ||
|
|
c87fef31d6 | ||
|
|
44d0818336 | ||
|
|
37fbae9608 | ||
|
|
2dba648190 | ||
|
|
2730b09468 | ||
|
|
c109656a83 | ||
|
|
e9b4a9ed0b | ||
|
|
d1d1735afc | ||
|
|
353549ad67 | ||
|
|
c8e693991b | ||
|
|
7a163f4bde | ||
|
|
9d995d795b | ||
|
|
b8a2c0d889 | ||
|
|
bf4b9bd446 | ||
|
|
55bfbee3b0 | ||
|
|
614066c11e | ||
|
|
b381537b62 | ||
|
|
f4f5089d7f | ||
|
|
34916e4ca0 | ||
|
|
b1c86f2142 | ||
|
|
4e30fa0a40 | ||
|
|
08924375e2 | ||
|
|
2525c382f4 | ||
|
|
beb6d93361 | ||
|
|
60c98f110c | ||
|
|
20bdd8ef68 | ||
|
|
1952d0d10b | ||
|
|
fe6eece956 | ||
|
|
e644e759e2 | ||
|
|
11e721bb48 | ||
|
|
972066218e | ||
|
|
38c5ee637b | ||
|
|
d45058e24e | ||
|
|
589cb39c46 | ||
|
|
a374c1ef3c | ||
|
|
847b07731d | ||
|
|
795a9316a7 | ||
|
|
c40cd196aa | ||
|
|
f1ceef99ac | ||
|
|
34e464b840 | ||
|
|
d7f72620e2 | ||
|
|
1f0497c14c | ||
|
|
583fc6c617 | ||
|
|
cf0e14edb5 | ||
|
|
a3a158566d | ||
|
|
f92fbe028c | ||
|
|
0493469097 | ||
|
|
44e1e4a811 | ||
|
|
db03fa2b3e | ||
|
|
604f4ede58 | ||
|
|
5abb52194e | ||
|
|
71f6cc0366 | ||
|
|
73a61369b1 | ||
|
|
d8c013ff61 | ||
|
|
e44507a009 | ||
|
|
58699a7418 | ||
|
|
51fdbda8fc | ||
|
|
495e5be3f5 | ||
|
|
6127b5eac1 | ||
|
|
1534ccf85f | ||
|
|
0328f0ef44 | ||
|
|
07911efa2c | ||
|
|
3d3c412d6e | ||
|
|
87d8a33998 | ||
|
|
1e68b21c76 | ||
|
|
dcedb94723 | ||
|
|
58f46857e4 | ||
|
|
742d0abbcd | ||
|
|
f1a08263c9 | ||
|
|
43864a326d | ||
|
|
afbef79c85 | ||
|
|
06bb4c92b1 | ||
|
|
c23e63bd4b | ||
|
|
f058e7fc86 | ||
|
|
2174363c0d | ||
|
|
77acc138fa | ||
|
|
f6f63bd558 | ||
|
|
ec4af27b06 | ||
|
|
cb837cd162 | ||
|
|
8608134fd1 | ||
|
|
fe940add31 | ||
|
|
41a4099837 | ||
|
|
0740cb8f43 | ||
|
|
ca02ca498c | ||
|
|
f808aec6fa | ||
|
|
2984b8396e | ||
|
|
62353bd6d6 | ||
|
|
9d0266c7e9 | ||
|
|
b36788e391 | ||
|
|
498b5e8f89 | ||
|
|
7710eb7a35 | ||
|
|
3ade8f6ec5 | ||
|
|
918aed929f | ||
|
|
a6fb7ced3a | ||
|
|
106cf2ff2f | ||
|
|
47cc22360a | ||
|
|
cc9f7bda73 | ||
|
|
583862dbe0 | ||
|
|
81986bf1d0 | ||
|
|
421c9c9ac8 | ||
|
|
38a817221f | ||
|
|
09a0f9ff81 | ||
|
|
59c4c9d1fb | ||
|
|
0d2424d5f4 | ||
|
|
33387e5b08 | ||
|
|
0f49626e39 | ||
|
|
0a70744ed1 | ||
|
|
a2fcce1d6f | ||
|
|
a944ec5cd0 | ||
|
|
1f5dc1cef8 | ||
|
|
70a15e68b8 | ||
|
|
376a87df19 | ||
|
|
7b0c0f32b0 | ||
|
|
02d3fea0fe | ||
|
|
98f9461fe0 | ||
|
|
a771912807 | ||
|
|
f7b3d7afde | ||
|
|
22810f2b68 | ||
|
|
ec72ac330d | ||
|
|
af5ca2596c | ||
|
|
badd7a0d50 | ||
|
|
5a7348da4a | ||
|
|
c4bdd838b8 | ||
|
|
cff9b2fe90 | ||
|
|
ff81bdcae0 | ||
|
|
80708dfeb4 | ||
|
|
391acd7954 | ||
|
|
90eb7f21d2 | ||
|
|
eaebc6b6b4 | ||
|
|
127785c702 | ||
|
|
73b0c4b9be | ||
|
|
d6efc73bd3 | ||
|
|
260db24265 | ||
|
|
d0787730c7 | ||
|
|
a3ad27ea79 | ||
|
|
adeef39011 | ||
|
|
1e92ef8bba | ||
|
|
85c057910d | ||
|
|
4702215788 |
4
.github/workflows/fastlane.yml
vendored
4
.github/workflows/fastlane.yml
vendored
@@ -14,10 +14,8 @@ jobs:
|
||||
- name: Set outputs
|
||||
id: vars
|
||||
run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
|
||||
- name: Set up Ruby 2.7
|
||||
- name: Set up Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.7
|
||||
- name: Install fastlane
|
||||
run: bundle install -j 6
|
||||
- name: Install Node dependencies
|
||||
|
||||
8
.github/workflows/lint.yml
vendored
8
.github/workflows/lint.yml
vendored
@@ -7,7 +7,11 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10
|
||||
- name: Install Node dependencies
|
||||
run: npm install
|
||||
run: pnpm install
|
||||
- name: Run linter
|
||||
run: npm run lint
|
||||
run: pnpm lint
|
||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -41,6 +41,7 @@ yarn-error.log
|
||||
|
||||
*.keystore
|
||||
!debug.keystore
|
||||
.kotlin/
|
||||
|
||||
# fastlane
|
||||
#
|
||||
@@ -75,4 +76,5 @@ fastlane/play-store-credentials.json
|
||||
# Temporary files created by Metro to check the health of the file watcher
|
||||
.metro-health-check*
|
||||
|
||||
.xcode.env.local
|
||||
.xcode.env.local
|
||||
android/app/.cxx
|
||||
|
||||
1
.ruby-version
Normal file
1
.ruby-version
Normal file
@@ -0,0 +1 @@
|
||||
3.4.3
|
||||
41
CHANGELOG.md
41
CHANGELOG.md
@@ -1,3 +1,44 @@
|
||||
## [2.4.1](https://github.com/leinelissen/jellyfin-audio-player/compare/v2.4.0...v2.4.1) (2025-01-27)
|
||||
|
||||
|
||||
|
||||
# [2.4.0](https://github.com/leinelissen/jellyfin-audio-player/compare/v2.3.3...v2.4.0) (2025-01-26)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* accept any valid mime type for downloadable tracks ([2c42a89](https://github.com/leinelissen/jellyfin-audio-player/commit/2c42a897d9e77ba8f767896512b80c8c10a72e30))
|
||||
* align all album titles in track list view ([7cdd01e](https://github.com/leinelissen/jellyfin-audio-player/commit/7cdd01e71378fded86411b8dc79c9748c315be96)), closes [#172](https://github.com/leinelissen/jellyfin-audio-player/issues/172)
|
||||
* bump blur-view ([8bef5c6](https://github.com/leinelissen/jellyfin-audio-player/commit/8bef5c66e3242c1ad359eb3a96ef3177031cd22f))
|
||||
* clean up lyrics implementation ([2f1b9c1](https://github.com/leinelissen/jellyfin-audio-player/commit/2f1b9c180d205228768d0d82b13e9f6e51944928))
|
||||
* dark mode inconsistencies ([a64f52c](https://github.com/leinelissen/jellyfin-audio-player/commit/a64f52c4f913f92d8caeea74188d1260ff7c2ce5)), closes [#226](https://github.com/leinelissen/jellyfin-audio-player/issues/226) [#198](https://github.com/leinelissen/jellyfin-audio-player/issues/198)
|
||||
* don't attempt to parse playback reporting responses ([746c96d](https://github.com/leinelissen/jellyfin-audio-player/commit/746c96d45932f3a23122ada165acc49e8053da11))
|
||||
* ensure all cover images load properly ([b9e8a94](https://github.com/leinelissen/jellyfin-audio-player/commit/b9e8a94c7a4682076c05c4562b8996e47e84311f))
|
||||
* fine-tune default orderings ([38ce998](https://github.com/leinelissen/jellyfin-audio-player/commit/38ce9986e590392667fae7c8119aa1057e95cd23)), closes [#229](https://github.com/leinelissen/jellyfin-audio-player/issues/229)
|
||||
* further limit extraneous events from playback reporting ([c9f7f71](https://github.com/leinelissen/jellyfin-audio-player/commit/c9f7f71194105944f051e7329b88956e4c863976))
|
||||
* make progress bars initialise out of view ([0b13e69](https://github.com/leinelissen/jellyfin-audio-player/commit/0b13e69854a361a67bcc67baaf22c9364a53378f))
|
||||
* missing background on track pop-up menu ([f2cac91](https://github.com/leinelissen/jellyfin-audio-player/commit/f2cac91e2f08db7945a88e9ad29daa797ab96edd))
|
||||
* missing cover images in now playing view ([96a1180](https://github.com/leinelissen/jellyfin-audio-player/commit/96a11804ba390dc665282f1fc49e7f0fb710e642)), closes [#245](https://github.com/leinelissen/jellyfin-audio-player/issues/245) [#209](https://github.com/leinelissen/jellyfin-audio-player/issues/209)
|
||||
* missing image covers for emby ([01e25a8](https://github.com/leinelissen/jellyfin-audio-player/commit/01e25a89b1adcbacd7a58642d4d4ef8731480d8c))
|
||||
* more accurately return current track ([9462a3e](https://github.com/leinelissen/jellyfin-audio-player/commit/9462a3e294bffc46f25797688aefec2a43f7cccb))
|
||||
* prevent error on lyrics screen when tab height is unavailable ([b9a6c66](https://github.com/leinelissen/jellyfin-audio-player/commit/b9a6c66584b215e3ee86d1808864a04aa26065c9))
|
||||
* properly pre-insert queued tracks before played track ([3993401](https://github.com/leinelissen/jellyfin-audio-player/commit/399340127dd4026881397a269381aaca72c07751))
|
||||
* retrieve codec metadata and lyrics asynchronously ([77db5a5](https://github.com/leinelissen/jellyfin-audio-player/commit/77db5a51d2e2ba5ecd37439588dd83dcf2437b1c))
|
||||
* send last position for `Stopped` event ([68c8808](https://github.com/leinelissen/jellyfin-audio-player/commit/68c88081885bb3bda196dfe71b684e21e678787e))
|
||||
* show past lyrics in grey ([b03d449](https://github.com/leinelissen/jellyfin-audio-player/commit/b03d449a1bd5d16e16f15dbb215a75cfd2e0cc7c))
|
||||
* support audio/ogg in downloads ([1972f48](https://github.com/leinelissen/jellyfin-audio-player/commit/1972f489aaed4780c74733532e3597dbb54a5536))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* also store cover images for downloaded tracks ([6316814](https://github.com/leinelissen/jellyfin-audio-player/commit/6316814eba59ed2bd2c0fe1a23ed64bfe2f1bed3))
|
||||
* Emby support ([#234](https://github.com/leinelissen/jellyfin-audio-player/issues/234)) ([a6452f0](https://github.com/leinelissen/jellyfin-audio-player/commit/a6452f0a5e81b2f70ecdd7900138ef1a8ecb5554))
|
||||
* enable playlists for emby ([f90e9be](https://github.com/leinelissen/jellyfin-audio-player/commit/f90e9be3783363bd65b4c8b7c15964338b19dc38)), closes [#242](https://github.com/leinelissen/jellyfin-audio-player/issues/242)
|
||||
* Media stream info in now playing modal ([#233](https://github.com/leinelissen/jellyfin-audio-player/issues/233)) ([0d09c6f](https://github.com/leinelissen/jellyfin-audio-player/commit/0d09c6f0b8a5fc218af1182324a73cb667eccbce))
|
||||
* separate discs in album view when multiple are available ([ec4a2b6](https://github.com/leinelissen/jellyfin-audio-player/commit/ec4a2b6831fb8aa3c5e8f1fc658c235ced59cfd9)), closes [#179](https://github.com/leinelissen/jellyfin-audio-player/issues/179)
|
||||
|
||||
|
||||
|
||||
## [2.3.3](https://github.com/leinelissen/jellyfin-audio-player/compare/v2.3.2...v2.3.3) (2024-06-15)
|
||||
|
||||
|
||||
|
||||
14
Gemfile
14
Gemfile
@@ -7,8 +7,18 @@ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
|
||||
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
|
||||
ruby ">= 2.6.10"
|
||||
|
||||
gem 'cocoapods', '~> 1.13'
|
||||
gem 'activesupport', '>= 6.1.7.3', '< 7.1.0'
|
||||
# Exclude problematic versions of cocoapods and activesupport that causes build failures.
|
||||
gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
|
||||
gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
|
||||
gem 'xcodeproj', '< 1.26.0'
|
||||
gem 'concurrent-ruby', '< 1.3.4'
|
||||
|
||||
# Ruby 3.4.0 has removed some libraries from the standard library.
|
||||
gem 'bigdecimal'
|
||||
gem 'logger'
|
||||
gem 'benchmark'
|
||||
gem 'mutex_m'
|
||||
gem 'abbrev'
|
||||
|
||||
gem "fastlane", "~> 2.153"
|
||||
|
||||
|
||||
124
Gemfile.lock
124
Gemfile.lock
@@ -5,12 +5,19 @@ GEM
|
||||
base64
|
||||
nkf
|
||||
rexml
|
||||
activesupport (6.1.7.6)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
abbrev (0.1.2)
|
||||
activesupport (7.2.2.1)
|
||||
base64
|
||||
benchmark (>= 0.3)
|
||||
bigdecimal
|
||||
concurrent-ruby (~> 1.0, >= 1.3.1)
|
||||
connection_pool (>= 2.2.5)
|
||||
drb
|
||||
i18n (>= 1.6, < 2)
|
||||
logger (>= 1.4.2)
|
||||
minitest (>= 5.1)
|
||||
tzinfo (~> 2.0)
|
||||
zeitwerk (~> 2.3)
|
||||
securerandom (>= 0.3)
|
||||
tzinfo (~> 2.0, >= 2.0.5)
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
algoliasearch (1.27.5)
|
||||
@@ -18,29 +25,34 @@ GEM
|
||||
json (>= 1.5.1)
|
||||
artifactory (3.0.17)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.3.0)
|
||||
aws-partitions (1.1042.0)
|
||||
aws-sdk-core (3.217.0)
|
||||
aws-eventstream (1.4.0)
|
||||
aws-partitions (1.1141.0)
|
||||
aws-sdk-core (3.229.0)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.992.0)
|
||||
aws-sigv4 (~> 1.9)
|
||||
base64
|
||||
bigdecimal
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.97.0)
|
||||
aws-sdk-core (~> 3, >= 3.216.0)
|
||||
logger
|
||||
aws-sdk-kms (1.110.0)
|
||||
aws-sdk-core (~> 3, >= 3.228.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sdk-s3 (1.178.0)
|
||||
aws-sdk-core (~> 3, >= 3.216.0)
|
||||
aws-sdk-s3 (1.196.0)
|
||||
aws-sdk-core (~> 3, >= 3.228.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sigv4 (1.11.0)
|
||||
aws-sigv4 (1.12.1)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
base64 (0.2.0)
|
||||
base64 (0.3.0)
|
||||
benchmark (0.4.0)
|
||||
bigdecimal (3.1.9)
|
||||
claide (1.1.0)
|
||||
cocoapods (1.15.0)
|
||||
cocoapods (1.15.2)
|
||||
addressable (~> 2.8)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
cocoapods-core (= 1.15.0)
|
||||
cocoapods-core (= 1.15.2)
|
||||
cocoapods-deintegrate (>= 1.0.3, < 2.0)
|
||||
cocoapods-downloader (>= 2.1, < 3.0)
|
||||
cocoapods-plugins (>= 1.0.0, < 2.0)
|
||||
@@ -55,7 +67,7 @@ GEM
|
||||
nap (~> 1.0)
|
||||
ruby-macho (>= 2.3.0, < 3.0)
|
||||
xcodeproj (>= 1.23.0, < 2.0)
|
||||
cocoapods-core (1.15.0)
|
||||
cocoapods-core (1.15.2)
|
||||
activesupport (>= 5.0, < 8)
|
||||
addressable (~> 2.8)
|
||||
algoliasearch (~> 1.0)
|
||||
@@ -78,18 +90,19 @@ GEM
|
||||
colored2 (3.1.2)
|
||||
commander (4.6.0)
|
||||
highline (~> 2.0.0)
|
||||
concurrent-ruby (1.2.3)
|
||||
concurrent-ruby (1.3.3)
|
||||
connection_pool (2.5.3)
|
||||
declarative (0.0.20)
|
||||
digest-crc (0.6.5)
|
||||
digest-crc (0.7.0)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
domain_name (0.5.20190701)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
domain_name (0.6.20240107)
|
||||
dotenv (2.8.1)
|
||||
drb (2.2.1)
|
||||
emoji_regex (3.2.3)
|
||||
escape (0.0.4)
|
||||
ethon (0.16.0)
|
||||
ffi (>= 1.15.0)
|
||||
excon (0.109.0)
|
||||
excon (0.112.0)
|
||||
faraday (1.10.4)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
@@ -106,10 +119,10 @@ GEM
|
||||
faraday (>= 0.8.0)
|
||||
http-cookie (~> 1.0.0)
|
||||
faraday-em_http (1.0.0)
|
||||
faraday-em_synchrony (1.0.0)
|
||||
faraday-em_synchrony (1.0.1)
|
||||
faraday-excon (1.1.0)
|
||||
faraday-httpclient (1.0.1)
|
||||
faraday-multipart (1.1.0)
|
||||
faraday-multipart (1.1.1)
|
||||
multipart-post (~> 2.0)
|
||||
faraday-net_http (1.0.2)
|
||||
faraday-net_http_persistent (1.2.0)
|
||||
@@ -119,7 +132,7 @@ GEM
|
||||
faraday_middleware (1.2.1)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.4.0)
|
||||
fastlane (2.226.0)
|
||||
fastlane (2.228.0)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
@@ -159,15 +172,15 @@ GEM
|
||||
tty-spinner (>= 0.8.0, < 1.0.0)
|
||||
word_wrap (~> 1.0.0)
|
||||
xcodeproj (>= 1.13.0, < 2.0.0)
|
||||
xcpretty (~> 0.4.0)
|
||||
xcpretty (~> 0.4.1)
|
||||
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
|
||||
fastlane-plugin-load_json (0.0.1)
|
||||
fastlane-plugin-sentry (1.18.0)
|
||||
fastlane-plugin-sentry (1.29.0)
|
||||
os (~> 1.1, >= 1.1.4)
|
||||
fastlane-plugin-versioning_android (0.1.1)
|
||||
fastlane-sirp (1.0.0)
|
||||
sysrandom (~> 1.0)
|
||||
ffi (1.16.3)
|
||||
ffi (1.17.2)
|
||||
fourflusher (2.3.1)
|
||||
fuzzy_match (2.0.4)
|
||||
gh_inspector (1.1.3)
|
||||
@@ -185,19 +198,19 @@ GEM
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.13.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-storage_v1 (0.29.0)
|
||||
google-apis-storage_v1 (0.31.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-cloud-core (1.6.1)
|
||||
google-cloud-core (1.8.0)
|
||||
google-cloud-env (>= 1.0, < 3.a)
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.6.0)
|
||||
faraday (>= 0.17.3, < 3.0)
|
||||
google-cloud-errors (1.3.1)
|
||||
google-cloud-storage (1.45.0)
|
||||
google-cloud-errors (1.5.0)
|
||||
google-cloud-storage (1.47.0)
|
||||
addressable (~> 2.8)
|
||||
digest-crc (~> 0.4)
|
||||
google-apis-iamcredentials_v1 (~> 0.1)
|
||||
google-apis-storage_v1 (~> 0.29.0)
|
||||
google-apis-storage_v1 (~> 0.31.0)
|
||||
google-cloud-core (~> 1.6)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
mini_mime (~> 1.0)
|
||||
@@ -210,41 +223,45 @@ GEM
|
||||
highline (2.0.3)
|
||||
http-cookie (1.0.8)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.8.3)
|
||||
i18n (1.14.1)
|
||||
httpclient (2.9.0)
|
||||
mutex_m
|
||||
i18n (1.14.7)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jmespath (1.6.2)
|
||||
json (2.7.6)
|
||||
jwt (2.10.1)
|
||||
json (2.13.2)
|
||||
jwt (2.10.2)
|
||||
base64
|
||||
logger (1.7.0)
|
||||
mini_magick (4.13.2)
|
||||
mini_mime (1.1.5)
|
||||
minitest (5.21.2)
|
||||
minitest (5.25.5)
|
||||
molinillo (0.8.0)
|
||||
multi_json (1.15.0)
|
||||
multi_json (1.17.0)
|
||||
multipart-post (2.4.1)
|
||||
nanaimo (0.4.0)
|
||||
mutex_m (0.3.0)
|
||||
nanaimo (0.3.0)
|
||||
nap (1.1.0)
|
||||
naturally (2.2.1)
|
||||
naturally (2.3.0)
|
||||
netrc (0.11.0)
|
||||
nkf (0.2.0)
|
||||
optparse (0.6.0)
|
||||
os (1.1.4)
|
||||
plist (3.7.2)
|
||||
public_suffix (4.0.7)
|
||||
rake (13.2.1)
|
||||
rake (13.3.0)
|
||||
representable (3.2.0)
|
||||
declarative (< 0.1.0)
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
uber (< 0.2.0)
|
||||
retriable (3.1.2)
|
||||
rexml (3.4.0)
|
||||
rexml (3.4.1)
|
||||
rouge (3.28.0)
|
||||
ruby-macho (2.5.1)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.4.1)
|
||||
securerandom (0.4.1)
|
||||
security (0.1.5)
|
||||
signet (0.18.0)
|
||||
signet (0.20.0)
|
||||
addressable (~> 2.8)
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
@@ -266,35 +283,40 @@ GEM
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
uber (0.1.0)
|
||||
unf (0.2.0)
|
||||
unicode-display_width (2.6.0)
|
||||
word_wrap (1.0.0)
|
||||
xcodeproj (1.27.0)
|
||||
xcodeproj (1.25.1)
|
||||
CFPropertyList (>= 2.3.3, < 4.0)
|
||||
atomos (~> 0.1.3)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
colored2 (~> 3.1)
|
||||
nanaimo (~> 0.4.0)
|
||||
nanaimo (~> 0.3.0)
|
||||
rexml (>= 3.3.6, < 4.0)
|
||||
xcpretty (0.4.0)
|
||||
xcpretty (0.4.1)
|
||||
rouge (~> 3.28.0)
|
||||
xcpretty-travis-formatter (1.0.1)
|
||||
xcpretty (~> 0.2, >= 0.0.7)
|
||||
zeitwerk (2.6.12)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
activesupport (>= 6.1.7.3, < 7.1.0)
|
||||
cocoapods (~> 1.13)
|
||||
abbrev
|
||||
activesupport (>= 6.1.7.5, != 7.1.0)
|
||||
benchmark
|
||||
bigdecimal
|
||||
cocoapods (>= 1.13, != 1.15.1, != 1.15.0)
|
||||
concurrent-ruby (< 1.3.4)
|
||||
fastlane (~> 2.153)
|
||||
fastlane-plugin-load_json
|
||||
fastlane-plugin-sentry
|
||||
fastlane-plugin-versioning_android
|
||||
logger
|
||||
mutex_m
|
||||
xcodeproj (< 1.26.0)
|
||||
|
||||
RUBY VERSION
|
||||
ruby 2.6.10p210
|
||||
|
||||
BUNDLED WITH
|
||||
1.17.2
|
||||
2.6.8
|
||||
|
||||
@@ -41,7 +41,7 @@ You will need to setup your Jellyfin account for the application to be able to p
|
||||
|
||||
## Building from source
|
||||
### Prerequisites
|
||||
This project is built on React Native, and first of all requires [NodeJS](https://nodejs.org/en/) to be installed. After installing it and cloning this repository, don't forget ton run `npm install` on your command line, so that all Node dependencies are installed.
|
||||
This project is built on React Native, and first of all requires [NodeJS](https://nodejs.org/en/) and PNPM to be installed. After installing it and cloning this repository, don't forget ton run `pnpm install` on your command line, so that all Node dependencies are installed.
|
||||
|
||||
#### iOS Prerequisites
|
||||
[XCode](https://developer.apple.com/download/) is required to build the iOS application. It also comes bundles with iOS simulators which make development exceedingly easy. This does mean that iOS development is limited to macs.
|
||||
@@ -52,8 +52,8 @@ This project is built on React Native, and first of all requires [NodeJS](https:
|
||||
### Development Build
|
||||
As soon as all prerequisites are covered, you can start development in either iOS or Android simulators by running the following
|
||||
```
|
||||
npm run ios
|
||||
npm run android
|
||||
pnpm ios
|
||||
pnpm android
|
||||
```
|
||||
|
||||
### Production Build
|
||||
|
||||
@@ -8,15 +8,14 @@ apply plugin: "com.facebook.react"
|
||||
*/
|
||||
react {
|
||||
/* Folders */
|
||||
// The root of your project, i.e. where "package.json" lives. Default is '..'
|
||||
// root = file("../")
|
||||
// The folder where the react-native NPM package is. Default is ../node_modules/react-native
|
||||
// reactNativeDir = file("../node_modules/react-native")
|
||||
// The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen
|
||||
// codegenDir = file("../node_modules/@react-native/codegen")
|
||||
// codegenDir = file("../node_modules/react-native-codegen")
|
||||
// The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js
|
||||
// cliFile = file("../node_modules/react-native/cli.js")
|
||||
// The root of your project, i.e. where "package.json" lives. Default is '../..'
|
||||
// root = file("../../")
|
||||
// The folder where the react-native NPM package is. Default is ../../node_modules/react-native
|
||||
// reactNativeDir = file("../../node_modules/react-native")
|
||||
// The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen
|
||||
// codegenDir = file("../../node_modules/@react-native/codegen")
|
||||
// The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js
|
||||
// cliFile = file("../../node_modules/react-native/cli.js")
|
||||
|
||||
/* Variants */
|
||||
// The list of variants to that are debuggable. For those we're going to
|
||||
@@ -50,6 +49,9 @@ react {
|
||||
//
|
||||
// The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
|
||||
// hermesFlags = ["-O", "-output-source-map"]
|
||||
|
||||
/* Autolinking */
|
||||
autolinkLibrariesWithApp()
|
||||
}
|
||||
|
||||
if (System.getenv("DISABLE_SENTRY_SOURCEMAP_UPLOAD") != "true") {
|
||||
@@ -65,14 +67,14 @@ def enableProguardInReleaseBuilds = false
|
||||
* The preferred build flavor of JavaScriptCore.
|
||||
*
|
||||
* For example, to use the international variant, you can use:
|
||||
* `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
|
||||
* `def jscFlavor = io.github.react-native-community:jsc-android-intl:2026004.+`
|
||||
*
|
||||
* The international variant includes ICU i18n library and necessary data
|
||||
* allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
|
||||
* give correct results when using with locales other than en-US. Note that
|
||||
* this variant is about 6MiB larger per architecture than default.
|
||||
*/
|
||||
def jscFlavor = 'org.webkit:android-jsc:+'
|
||||
def jscFlavor = 'io.github.react-native-community:jsc-android:2026004.+'
|
||||
|
||||
android {
|
||||
ndkVersion rootProject.ext.ndkVersion
|
||||
@@ -85,8 +87,8 @@ android {
|
||||
applicationId "nl.moeilijkedingen.jellyfinaudioplayer"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 30
|
||||
versionName "2.4.0"
|
||||
versionCode 40
|
||||
versionName "2.4.6"
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
@@ -133,5 +135,3 @@ dependencies {
|
||||
implementation jscFlavor
|
||||
}
|
||||
}
|
||||
|
||||
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:allowBackup="false"
|
||||
android:networkSecurityConfig="@xml/react_native_config"
|
||||
android:theme="@style/AppTheme">
|
||||
android:theme="@style/AppTheme"
|
||||
android:supportsRtl="true">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:label="@string/app_name"
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.facebook.react.ReactPackage
|
||||
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
|
||||
import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
|
||||
import com.facebook.react.defaults.DefaultReactNativeHost
|
||||
import com.facebook.react.soloader.OpenSourceMergedSoMapping
|
||||
import com.facebook.soloader.SoLoader
|
||||
|
||||
class MainApplication : Application(), ReactApplication {
|
||||
@@ -34,7 +35,7 @@ class MainApplication : Application(), ReactApplication {
|
||||
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
SoLoader.init(this, false)
|
||||
SoLoader.init(this, OpenSourceMergedSoMapping)
|
||||
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
|
||||
// If you opted-in for the New Architecture, we load the native entry point for this app.
|
||||
load()
|
||||
|
||||
@@ -4,12 +4,12 @@ import org.apache.tools.ant.taskdefs.condition.Os
|
||||
|
||||
buildscript {
|
||||
ext {
|
||||
buildToolsVersion = "34.0.0"
|
||||
minSdkVersion = 23
|
||||
compileSdkVersion = 34
|
||||
targetSdkVersion = 34
|
||||
ndkVersion = "26.1.10909125"
|
||||
kotlinVersion = "1.9.22"
|
||||
buildToolsVersion = "35.0.0"
|
||||
minSdkVersion = 24
|
||||
compileSdkVersion = 35
|
||||
targetSdkVersion = 35
|
||||
ndkVersion = "27.1.12297006"
|
||||
kotlinVersion = "2.0.21"
|
||||
}
|
||||
repositories {
|
||||
google()
|
||||
|
||||
@@ -21,8 +21,6 @@ org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m
|
||||
# Android operating system, and which are packaged with your app's APK
|
||||
# https://developer.android.com/topic/libraries/support-library/androidx-rn
|
||||
android.useAndroidX=true
|
||||
# Automatically convert third-party libraries to use AndroidX
|
||||
android.enableJetifier=true
|
||||
|
||||
# Use this property to specify which architecture you want to build.
|
||||
# You can also override it from the CLI using
|
||||
@@ -34,7 +32,7 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
|
||||
# your application. You should enable this flag either if you want
|
||||
# to write custom TurboModules/Fabric components OR use libraries that
|
||||
# are providing them.
|
||||
newArchEnabled=false
|
||||
newArchEnabled=true
|
||||
|
||||
# Use this property to enable or disable the Hermes JS engine.
|
||||
# If set to false, you will be using JSC instead.
|
||||
|
||||
BIN
android/gradle/wrapper/gradle-wrapper.jar
vendored
BIN
android/gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
8
android/gradlew
vendored
8
android/gradlew
vendored
@@ -15,6 +15,8 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
@@ -55,7 +57,7 @@
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
@@ -84,7 +86,7 @@ done
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
@@ -203,7 +205,7 @@ fi
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command:
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# and any embedded shellness will be escaped.
|
||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||
# treated as '${Hostname}' itself on the command line.
|
||||
|
||||
2
android/gradlew.bat
vendored
2
android/gradlew.bat
vendored
@@ -13,6 +13,8 @@
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
@rem SPDX-License-Identifier: Apache-2.0
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@rem ##########################################################################
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") }
|
||||
plugins { id("com.facebook.react.settings") }
|
||||
extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() }
|
||||
rootProject.name = 'Fintunes'
|
||||
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
|
||||
include ':app'
|
||||
includeBuild('../node_modules/@react-native/gradle-plugin')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# The Deliverfile allows you to store various App Store Connect metadata
|
||||
# For more information, check out the docs
|
||||
# https://docs.fastlane.tools/actions/deliver/
|
||||
overwrite_screenshots(true)
|
||||
overwrite_screenshots(false)
|
||||
@@ -37,7 +37,9 @@ platform :ios do
|
||||
workspace: "ios/Fintunes.xcworkspace",
|
||||
export_method: "app-store",
|
||||
)
|
||||
upload_to_app_store
|
||||
upload_to_app_store(
|
||||
precheck_include_in_app_purchases: false
|
||||
)
|
||||
end
|
||||
|
||||
lane :beta do
|
||||
|
||||
1
fastlane/metadata/android/ca/changelogs/35.txt
Normal file
1
fastlane/metadata/android/ca/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
Aquesta versió soluciona un problema on Fintunes només podia reproduir el primer disc en un àlbum de múltiples discs. A més, gràcies als nostres increïbles col·laboradors lingüístics, Fintunes ara està disponible en tàmil. A més, s'han actualitzat 12 idiomes. Gaudeix d'aquesta nova versió de Fintunes i considera unir-te al nostre servidor Discord!
|
||||
7
fastlane/metadata/android/ca/changelogs/40.txt
Normal file
7
fastlane/metadata/android/ca/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Ens alegra oferir-te algunes millores útils en aquesta actualització!
|
||||
|
||||
El rendiment per a grans col·leccions d'àlbums ha estat significativament millorat, fent que la navegació per la teva biblioteca musical sigui més fluida i responsiva.
|
||||
|
||||
També hem solucionat un problema que feia que la part superior de l'aplicació es tallés en Android 15 i versions més recents. L'aplicació ara hauria de mostrar-se correctament en els dispositius Android més recents.
|
||||
|
||||
Gràcies per usar Fintunes!
|
||||
1
fastlane/metadata/android/ca/full_description.txt
Normal file
1
fastlane/metadata/android/ca/full_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes és un reproductor d'àudio en streaming per al sistema multimèdia Jellyfin. Compta amb una interfície magnífica que us permet reproduir la vostra música preferida amb facilitat. Podeu cercar qualsevol pista a tota la vostra biblioteca o simplement prendre-ho amb calma amb una llista de reproducció que hàgiu creat anteriorment a Jellyfin. Totes les pistes es reprodueixen directament amb la màxima qualitat des de la vostra biblioteca de Jellyfin. El streaming no sempre és una opció? Qualsevol pista de la vostra biblioteca de Jellyfin es pot descarregar i reproduir fora de línia.
|
||||
1
fastlane/metadata/android/ca/short_description.txt
Normal file
1
fastlane/metadata/android/ca/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Reproductor per a Jellyfin
|
||||
1
fastlane/metadata/android/ca/title.txt
Normal file
1
fastlane/metadata/android/ca/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes
|
||||
1
fastlane/metadata/android/cs-CZ/changelogs/35.txt
Normal file
1
fastlane/metadata/android/cs-CZ/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
Tato verze opravuje problém, kdy Fintunes mohl přehrávat pouze první disk v albu s více disky. Navíc díky našim úžasným jazykovým přispěvatelům je Fintunes nyní k dispozici v tamilštině. Dále bylo aktualizováno 12 jazyků. Užijte si tuto novou verzi Fintunes a připojte se k našemu Discord serveru!
|
||||
7
fastlane/metadata/android/cs-CZ/changelogs/40.txt
Normal file
7
fastlane/metadata/android/cs-CZ/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Jsme rádi, že vám můžeme přinést několik užitečných vylepšení v této aktualizaci!
|
||||
|
||||
Výkon pro velké kolekce alb byl výrazně vylepšen, což činí procházení vaší hudební knihovny plynulejším a více responzivním.
|
||||
|
||||
Také jsme opravili problém, který způsoboval, že horní část aplikace byla ořezána na Androidu 15 a novějších verzích. Aplikace by se nyní měla správně zobrazovat na nejnovějších Android zařízeních.
|
||||
|
||||
Děkujeme za používání Fintunes!
|
||||
1
fastlane/metadata/android/de-DE/changelogs/35.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
Diese Version behebt ein Problem, bei dem Fintunes nur die erste CD eines Mehrfach-CD-Albums abspielen konnte. Außerdem ist Fintunes dank unserer großartigen Sprachmitwirkenden jetzt auch auf Tamilisch verfügbar. Zusätzlich wurden 12 Sprachen aktualisiert. Genießen Sie diese neue Version von Fintunes und treten Sie gerne unserem Discord-Server bei!
|
||||
7
fastlane/metadata/android/de-DE/changelogs/40.txt
Normal file
7
fastlane/metadata/android/de-DE/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Nützliche Verbesserungen in diesem Update!
|
||||
|
||||
Die Leistung für große Albumsammlungen wurde erheblich verbessert, wodurch das Durchsuchen Ihrer Musikbibliothek reibungsloser wird.
|
||||
|
||||
Wir haben auch ein Problem behoben, das dazu führte, dass der obere Teil der App auf Android 15+ abgeschnitten wurde.
|
||||
|
||||
Vielen Dank, dass Sie Fintunes verwenden!
|
||||
1
fastlane/metadata/android/en-US/changelogs/35.txt
Normal file
1
fastlane/metadata/android/en-US/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
This version fixes an issue where Fintunes was only able to play back the first disc in a multi-disc album. Also, thanks to our amazing language contributors, Fintunes is now available in Tamil. Additionally, there's 12 languages that have been updated. Enjoy this new version of Fintunes and consider joining our Discord server!
|
||||
7
fastlane/metadata/android/en-US/changelogs/40.txt
Normal file
7
fastlane/metadata/android/en-US/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
We're pleased to bring you some useful improvements in this update!
|
||||
|
||||
Performance for large album collections has been significantly enhanced, making browsing through your music library smoother and more responsive.
|
||||
|
||||
We've also fixed an issue that was causing the top part of the app to be cut off on Android 15 and newer versions. The app should now display properly on the latest Android devices.
|
||||
|
||||
Thanks for using Fintunes!
|
||||
1
fastlane/metadata/android/es-ES/changelogs/35.txt
Normal file
1
fastlane/metadata/android/es-ES/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
Esta versión soluciona un problema donde Fintunes solo podía reproducir el primer disco en un álbum de múltiples discos. Además, gracias a nuestros increíbles colaboradores de idiomas, Fintunes ahora está disponible en tamil. También se han actualizado 12 idiomas. ¡Disfruta de esta nueva versión de Fintunes y considera unirte a nuestro servidor de Discord!
|
||||
7
fastlane/metadata/android/es-ES/changelogs/40.txt
Normal file
7
fastlane/metadata/android/es-ES/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
¡Mejoras útiles en esta actualización!
|
||||
|
||||
El rendimiento para grandes colecciones de álbumes ha sido significativamente mejorado, haciendo que la navegación por tu biblioteca musical sea más fluida.
|
||||
|
||||
También hemos solucionado un problema que causaba que la parte superior de la aplicación se cortara en Android 15+.
|
||||
|
||||
¡Gracias por usar Fintunes!
|
||||
1
fastlane/metadata/android/fr-FR/changelogs/35.txt
Normal file
1
fastlane/metadata/android/fr-FR/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
Cette version corrige un problème où Fintunes ne pouvait lire que le premier disque d'un album multi-disques. De plus, grâce à nos incroyables contributeurs linguistiques, Fintunes est maintenant disponible en tamoul. En outre, 12 langues ont été mises à jour. Profitez de cette nouvelle version de Fintunes et rejoignez notre serveur Discord !
|
||||
7
fastlane/metadata/android/fr-FR/changelogs/40.txt
Normal file
7
fastlane/metadata/android/fr-FR/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Améliorations utiles dans cette mise à jour !
|
||||
|
||||
Les performances pour les grandes collections d'albums ont été considérablement améliorées, rendant la navigation plus fluide.
|
||||
|
||||
Nous avons également corrigé un problème qui causait la coupure de la partie supérieure de l'application sur Android 15+.
|
||||
|
||||
Merci d'utiliser Fintunes !
|
||||
1
fastlane/metadata/android/it-IT/changelogs/35.txt
Normal file
1
fastlane/metadata/android/it-IT/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
Questa versione risolve un problema in cui Fintunes poteva riprodurre solo il primo disco in un album multi-disco. Inoltre, grazie ai nostri fantastici collaboratori linguistici, Fintunes è ora disponibile in tamil. Inoltre, sono state aggiornate 12 lingue. Goditi questa nuova versione di Fintunes e unisciti al nostro server Discord!
|
||||
7
fastlane/metadata/android/it-IT/changelogs/40.txt
Normal file
7
fastlane/metadata/android/it-IT/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Siamo lieti di offrirti alcuni miglioramenti utili in questo aggiornamento!
|
||||
|
||||
Le prestazioni per grandi collezioni di album sono state significativamente migliorate, rendendo la navigazione nella tua libreria musicale più fluida e reattiva.
|
||||
|
||||
Abbiamo anche risolto un problema che causava il taglio della parte superiore dell'app su Android 15 e versioni più recenti. L'app ora dovrebbe visualizzarsi correttamente sui dispositivi Android più recenti.
|
||||
|
||||
Grazie per aver usato Fintunes!
|
||||
1
fastlane/metadata/android/ja-JP/changelogs/35.txt
Normal file
1
fastlane/metadata/android/ja-JP/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
このバージョンでは、マルチディスクアルバムの最初のディスクしか再生できなかった問題を修正しました。また、素晴らしい言語コントリビューターのおかげで、Fintunesはタミル語でも利用可能になりました。さらに、12の言語が更新されました。Fintunesの新バージョンをお楽しみください。Discordサーバーへの参加もお待ちしています!
|
||||
7
fastlane/metadata/android/ja-JP/changelogs/40.txt
Normal file
7
fastlane/metadata/android/ja-JP/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
有用な改善をお届けします!
|
||||
|
||||
大規模なアルバムコレクションのパフォーマンスが大幅に向上し、音楽ライブラリの閲覧がよりスムーズになりました。
|
||||
|
||||
また、Android 15+でアプリの上部が切れる問題を修正しました。
|
||||
|
||||
Fintunesをご利用いただき、ありがとうございます!
|
||||
1
fastlane/metadata/android/nl-NL/changelogs/35.txt
Normal file
1
fastlane/metadata/android/nl-NL/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
Deze versie lost een probleem op waarbij Fintunes alleen de eerste schijf van een album met meerdere schijven kon afspelen. Bovendien is Fintunes dankzij onze geweldige taalbijdragers nu beschikbaar in het Tamil. Daarnaast zijn er 12 talen bijgewerkt. Geniet van deze nieuwe versie van Fintunes en overweeg om lid te worden van onze Discord-server!
|
||||
7
fastlane/metadata/android/nl-NL/changelogs/40.txt
Normal file
7
fastlane/metadata/android/nl-NL/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
We zijn blij je enkele nuttige verbeteringen te kunnen brengen in deze update!
|
||||
|
||||
De prestaties voor grote albumcollecties zijn aanzienlijk verbeterd, waardoor het browsen door je muziekbibliotheek soepeler en responsiever wordt.
|
||||
|
||||
We hebben ook een probleem opgelost dat ervoor zorgde dat het bovenste deel van de app werd afgesneden op Android 15 en nieuwere versies. De app zou nu correct moeten worden weergegeven op de nieuwste Android-apparaten.
|
||||
|
||||
Bedankt voor het gebruik van Fintunes!
|
||||
1
fastlane/metadata/android/no-NO/changelogs/35.txt
Normal file
1
fastlane/metadata/android/no-NO/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
Denne versjonen løser et problem hvor Fintunes bare kunne spille av den første disken i et flerdisk-album. I tillegg, takket være våre fantastiske språkbidragsytere, er Fintunes nå tilgjengelig på tamil. Dessuten er 12 språk oppdatert. Nyt denne nye versjonen av Fintunes og vurder å bli med på vår Discord-server!
|
||||
7
fastlane/metadata/android/no-NO/changelogs/40.txt
Normal file
7
fastlane/metadata/android/no-NO/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Vi er glade for å bringe deg noen nyttige forbedringer i denne oppdateringen!
|
||||
|
||||
Ytelsen for store albumsamlinger har blitt betydelig forbedret, noe som gjør surfing gjennom musikk-biblioteket ditt jevnere og mer responsivt.
|
||||
|
||||
Vi har også fikset et problem som forårsaket at den øverste delen av appen ble kuttet av på Android 15 og nyere versjoner. Appen bør nå vises riktig på de nyeste Android-enhetene.
|
||||
|
||||
Takk for at du bruker Fintunes!
|
||||
@@ -1 +1 @@
|
||||
Fintunes er en strømmingslydspiller for Jellyfin-mediesystemet. Den har et nydelig grensesnitt som lar deg spille favorittmusikken din enkelt. Du kan søke i hele biblioteket ditt etter hvilket som helst spor, eller bare ta det med ro med en spilleliste du har laget tidligere i Jellyfin. Alle spor strømmes direkte i høyeste kvalitet fra Jellyfin-biblioteket ditt. Er ikke strømming alltid et alternativ? Alle spor i Jellyfin-biblioteket ditt kan lastes ned og spilles av frakoblet.
|
||||
Fintunes er en strømmingslydspiller for Jellyfin-mediesystemet. Den har et vakkert grensesnitt som lar deg spille favorittmusikken din enkelt. Du kan søke i hele biblioteket ditt etter hvilket som helst spor, eller bare ta det med ro med en spilleliste du har laget tidligere i Jellyfin. Alle spor strømmes direkte i høyeste kvalitet fra Jellyfin-biblioteket ditt. Er ikke strømming alltid et alternativ? Alle spor i Jellyfin-biblioteket ditt kan lastes ned og spilles av frakoblet.
|
||||
|
||||
1
fastlane/metadata/android/pl-PL/changelogs/35.txt
Normal file
1
fastlane/metadata/android/pl-PL/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
Ta wersja naprawia problem, w którym Fintunes mógł odtwarzać tylko pierwszy dysk w albumie wielopłytowym. Ponadto, dzięki naszym wspaniałym współtwórcom językowym, Fintunes jest teraz dostępny w języku tamilskim. Dodatkowo zaktualizowano 12 języków. Ciesz się tą nową wersją Fintunes i dołącz do naszego serwera Discord!
|
||||
7
fastlane/metadata/android/pl-PL/changelogs/40.txt
Normal file
7
fastlane/metadata/android/pl-PL/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Przydatne ulepszenia w tej aktualizacji!
|
||||
|
||||
Wydajność dla dużych kolekcji albumów została znacznie poprawiona, dzięki czemu przeglądanie biblioteki muzycznej jest płynniejsze.
|
||||
|
||||
Naprawiliśmy również problem, który powodował obcinanie górnej części aplikacji na Androidzie 15+.
|
||||
|
||||
Dziękujemy za korzystanie z Fintunes!
|
||||
1
fastlane/metadata/android/pt-BR/changelogs/35.txt
Normal file
1
fastlane/metadata/android/pt-BR/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
Esta versão corrige um problema em que o Fintunes só conseguia reproduzir o primeiro disco em um álbum com múltiplos discos. Além disso, graças aos nossos incríveis colaboradores de idiomas, o Fintunes agora está disponível em tâmil. Adicionalmente, 12 idiomas foram atualizados. Aproveite esta nova versão do Fintunes e considere entrar em nosso servidor Discord!
|
||||
7
fastlane/metadata/android/pt-BR/changelogs/40.txt
Normal file
7
fastlane/metadata/android/pt-BR/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Estamos satisfeitos em trazer algumas melhorias úteis nesta atualização!
|
||||
|
||||
O desempenho para grandes coleções de álbuns foi significativamente aprimorado, tornando a navegação pela sua biblioteca musical mais suave e responsiva.
|
||||
|
||||
Também corrigimos um problema que estava causando o corte da parte superior do aplicativo no Android 15 e versões mais recentes. O aplicativo agora deve ser exibido corretamente nos dispositivos Android mais recentes.
|
||||
|
||||
Obrigado por usar o Fintunes!
|
||||
1
fastlane/metadata/android/ru-RU/changelogs/35.txt
Normal file
1
fastlane/metadata/android/ru-RU/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
Эта версия исправляет проблему, при которой Fintunes мог воспроизводить только первый диск в альбоме с несколькими дисками. Кроме того, благодаря нашим замечательным языковым контрибьюторам, Fintunes теперь доступен на тамильском языке. Также обновлены 12 языков. Наслаждайтесь новой версией Fintunes и присоединяйтесь к нашему серверу Discord!
|
||||
7
fastlane/metadata/android/ru-RU/changelogs/40.txt
Normal file
7
fastlane/metadata/android/ru-RU/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Полезные улучшения в обновлении!
|
||||
|
||||
Производительность для больших коллекций альбомов значительно улучшена, что делает просмотр музыкальной библиотеки более плавным.
|
||||
|
||||
Исправили проблему обрезания верхней части приложения на Android 15+.
|
||||
|
||||
Спасибо за использование Fintunes!
|
||||
1
fastlane/metadata/android/sv-SE/changelogs/35.txt
Normal file
1
fastlane/metadata/android/sv-SE/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
Denna version åtgärdar ett problem där Fintunes bara kunde spela upp den första skivan i ett flerskivsalbum. Dessutom, tack vare våra fantastiska språkbidragsgivare, är Fintunes nu tillgängligt på tamil. Dessutom har 12 språk uppdaterats. Njut av denna nya version av Fintunes och överväg att gå med i vår Discord-server!
|
||||
7
fastlane/metadata/android/sv-SE/changelogs/40.txt
Normal file
7
fastlane/metadata/android/sv-SE/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Vi är glada att kunna erbjuda dig några användbara förbättringar i denna uppdatering!
|
||||
|
||||
Prestandan för stora albumsamlingar har förbättrats betydligt, vilket gör surfandet genom ditt musikbibliotek smidigare och mer responsivt.
|
||||
|
||||
Vi har också åtgärdat ett problem som orsakade att den övre delen av appen blev avskuren på Android 15 och nyare versioner. Appen bör nu visas korrekt på de senaste Android-enheterna.
|
||||
|
||||
Tack för att du använder Fintunes!
|
||||
1
fastlane/metadata/android/uk/changelogs/35.txt
Normal file
1
fastlane/metadata/android/uk/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
Ця версія виправляє проблему, коли Fintunes міг відтворювати лише перший диск у багатодисковому альбомі. Крім того, завдяки нашим чудовим мовним учасникам, Fintunes тепер доступний тамільською мовою. Також оновлено 12 мов. Насолоджуйтесь цією новою версією Fintunes та приєднуйтесь до нашого сервера Discord!
|
||||
7
fastlane/metadata/android/uk/changelogs/40.txt
Normal file
7
fastlane/metadata/android/uk/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Корисні покращення в цьому оновленні!
|
||||
|
||||
Продуктивність для великих колекцій альбомів була значно покращена, роблячи перегляд музичної бібліотеки плавнішим.
|
||||
|
||||
Ми також виправили проблему обрізання верхньої частини додатку на Android 15+.
|
||||
|
||||
Дякуємо за використання Fintunes!
|
||||
1
fastlane/metadata/android/zh-CN/changelogs/35.txt
Normal file
1
fastlane/metadata/android/zh-CN/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
此版本修复了Fintunes只能播放多碟专辑中第一张碟片的问题。此外,感谢我们出色的语言贡献者,Fintunes现在支持泰米尔语。另外还有12种语言已更新。享受这个新版本的Fintunes,并考虑加入我们的Discord服务器!
|
||||
7
fastlane/metadata/android/zh-CN/changelogs/40.txt
Normal file
7
fastlane/metadata/android/zh-CN/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
我们很高兴为您带来此次更新中的一些实用改进!
|
||||
|
||||
大型专辑集合的性能得到了显著提升,使您浏览音乐库更加流畅和响应迅速。
|
||||
|
||||
我们还修复了一个在Android 15及更新版本上导致应用程序顶部被截断的问题。应用程序现在应该在最新的Android设备上正确显示。
|
||||
|
||||
感谢您使用Fintunes!
|
||||
1
fastlane/metadata/android/zh-TW/changelogs/35.txt
Normal file
1
fastlane/metadata/android/zh-TW/changelogs/35.txt
Normal file
@@ -0,0 +1 @@
|
||||
此版本修復了Fintunes只能播放多碟專輯中第一張碟片的問題。此外,感謝我們出色的語言貢獻者,Fintunes現在支援泰米爾語。另外還有12種語言已更新。享受這個新版本的Fintunes,並考慮加入我們的Discord伺服器!
|
||||
7
fastlane/metadata/android/zh-TW/changelogs/40.txt
Normal file
7
fastlane/metadata/android/zh-TW/changelogs/40.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
我們很高興為您帶來此次更新中的一些實用改進!
|
||||
|
||||
大型專輯集合的性能得到了顯著提升,使您瀏覽音樂庫更加流暢和響應迅速。
|
||||
|
||||
我們還修復了一個在Android 15及更新版本上導致應用程序頂部被截斷的問題。應用程序現在應該在最新的Android設備上正確顯示。
|
||||
|
||||
感謝您使用Fintunes!
|
||||
@@ -1 +1,5 @@
|
||||
Aquesta és una correcció ràpida que permet tornar a accedir al vostre servidor Jellyfin mitjançant HTTP. Si us plau, utilitzeu HTTPS si el teniu disponible.
|
||||
Ens alegra oferir-te algunes millores útils en aquesta actualització!
|
||||
|
||||
El rendiment per a grans col·leccions d'àlbums ha estat significativament millorat, fent que la navegació per la teva biblioteca musical sigui més fluida i responsiva.
|
||||
|
||||
Gràcies per usar Fintunes!
|
||||
@@ -1 +1 @@
|
||||
2024 Lei Nelissen
|
||||
2025 Lei Nelissen
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
Toto je oprava hotfix, která umožňuje znovu přistupovat k serveru Jellyfin přes HTTP. Použijte prosím HTTPS, pokud je to pro vás dostupné.
|
||||
Jsme rádi, že vám můžeme přinést několik užitečných vylepšení v této aktualizaci!
|
||||
|
||||
Výkon pro velké kolekce alb byl výrazně vylepšen, což činí procházení vaší hudební knihovny plynulejším a více responzivním.
|
||||
|
||||
Děkujeme za používání Fintunes!
|
||||
@@ -1 +1,5 @@
|
||||
Hierbei handelt es sich um einen Hotfix, der es wieder möglich macht, über HTTP auf Ihren Jellyfin-Server zuzugreifen. Bitte verwenden Sie HTTPS, sofern Ihnen dies zur Verfügung steht.
|
||||
Wir freuen uns, Ihnen einige nützliche Verbesserungen in diesem Update zu bieten!
|
||||
|
||||
Die Leistung für große Albumsammlungen wurde erheblich verbessert, wodurch das Durchsuchen Ihrer Musikbibliothek reibungsloser und reaktionsschneller wird.
|
||||
|
||||
Vielen Dank, dass Sie Fintunes verwenden!
|
||||
@@ -1 +1,5 @@
|
||||
This is a hotfix that makes it possible to access your Jellyfin server over HTTP again. Do please use HTTPS if that's available to you.
|
||||
We're pleased to bring you some useful improvements in this update!
|
||||
|
||||
Performance for large album collections has been significantly enhanced, making browsing through your music library smoother and more responsive.
|
||||
|
||||
Thanks for using Fintunes!
|
||||
@@ -1 +1,5 @@
|
||||
Esta es una revisión que permite acceder nuevamente a su servidor Jellyfin a través de HTTP. Utilice HTTPS si está disponible para usted.
|
||||
¡Nos complace ofrecerte algunas mejoras útiles en esta actualización!
|
||||
|
||||
El rendimiento para grandes colecciones de álbumes ha sido significativamente mejorado, haciendo que la navegación por tu biblioteca musical sea más fluida y responsiva.
|
||||
|
||||
¡Gracias por usar Fintunes!
|
||||
@@ -1 +1,5 @@
|
||||
Il s'agit d'un correctif qui permet d'accéder à nouveau à votre serveur Jellyfin via HTTP. Veuillez utiliser HTTPS si vous en avez la possibilité.
|
||||
Nous sommes heureux de vous apporter quelques améliorations utiles dans cette mise à jour !
|
||||
|
||||
Les performances pour les grandes collections d'albums ont été considérablement améliorées, rendant la navigation dans votre bibliothèque musicale plus fluide et plus réactive.
|
||||
|
||||
Merci d'utiliser Fintunes !
|
||||
@@ -1 +1,5 @@
|
||||
Questo è un hotfix che rende possibile accedere nuovamente al tuo server Jellyfin tramite HTTP. Ti preghiamo di utilizzare HTTPS se è disponibile per te.
|
||||
Siamo lieti di offrirti alcuni miglioramenti utili in questo aggiornamento!
|
||||
|
||||
Le prestazioni per grandi collezioni di album sono state significativamente migliorate, rendendo la navigazione nella tua libreria musicale più fluida e reattiva.
|
||||
|
||||
Grazie per aver usato Fintunes!
|
||||
@@ -1 +1,5 @@
|
||||
これは、HTTP 経由で Jellyfin サーバーに再びアクセスできるようにするホットフィックスです。 HTTPS が利用可能な場合は、HTTPS を使用してください。
|
||||
このアップデートで、いくつかの有用な改善をお届けできることを嬉しく思います!
|
||||
|
||||
大規模なアルバムコレクションのパフォーマンスが大幅に向上し、音楽ライブラリの閲覧がよりスムーズで反応性の良いものになりました。
|
||||
|
||||
Fintunesをご利用いただき、ありがとうございます!
|
||||
@@ -1 +1,5 @@
|
||||
Dit is een hotfix die het mogelijk maakt om weer via HTTP toegang te krijgen tot je Jellyfin-server. Gebruik alsjeblieft HTTPS als dat voor jou beschikbaar is.
|
||||
We zijn blij je enkele nuttige verbeteringen te kunnen brengen in deze update!
|
||||
|
||||
De prestaties voor grote albumcollecties zijn aanzienlijk verbeterd, waardoor het browsen door je muziekbibliotheek soepeler en responsiever wordt.
|
||||
|
||||
Bedankt voor het gebruik van Fintunes!
|
||||
@@ -1 +1 @@
|
||||
Fintunes er en strømmingslydspiller for Jellyfin-mediesystemet. Den har et nydelig grensesnitt som lar deg spille favorittmusikken din enkelt. Du kan søke i hele biblioteket ditt etter hvilket som helst spor, eller bare ta det med ro med en spilleliste du har laget tidligere i Jellyfin. Alle spor strømmes direkte i høyeste kvalitet fra Jellyfin-biblioteket ditt. Er ikke strømming alltid et alternativ? Alle spor i Jellyfin-biblioteket ditt kan lastes ned og spilles av frakoblet.
|
||||
Fintunes er en strømmingslydspiller for Jellyfin-mediesystemet. Den har et vakkert grensesnitt som lar deg spille favorittmusikken din enkelt. Du kan søke i hele biblioteket ditt etter hvilket som helst spor, eller bare ta det med ro med en spilleliste du har laget tidligere i Jellyfin. Alle spor strømmes direkte i høyeste kvalitet fra Jellyfin-biblioteket ditt. Er ikke strømming alltid et alternativ? Alle spor i Jellyfin-biblioteket ditt kan lastes ned og spilles av frakoblet.
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
Dette er en hurtigreparasjon som gjør det mulig å få tilgang til Jellyfin-serveren din over HTTP igjen. Vennligst bruk HTTPS hvis det er tilgjengelig for deg.
|
||||
Vi er glade for å bringe deg noen nyttige forbedringer i denne oppdateringen!
|
||||
|
||||
Ytelsen for store albumsamlinger har blitt betydelig forbedret, noe som gjør surfing gjennom musikk-biblioteket ditt jevnere og mer responsivt.
|
||||
|
||||
Takk for at du bruker Fintunes!
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
Jest to poprawka umożliwiająca ponowne uzyskanie dostępu do serwera Jellyfin za pośrednictwem protokołu HTTP. Jeśli masz taką możliwość, użyj protokołu HTTPS.
|
||||
Cieszymy się, że możemy dostarczyć Ci kilka przydatnych ulepszeń w tej aktualizacji!
|
||||
|
||||
Wydajność dla dużych kolekcji albumów została znacznie poprawiona, dzięki czemu przeglądanie biblioteki muzycznej jest płynniejsze i bardziej responsywne.
|
||||
|
||||
Dziękujemy za korzystanie z Fintunes!
|
||||
@@ -1 +1,5 @@
|
||||
Este é um hotfix que torna possível acessar novamente o servidor Jellyfin por HTTP. Use HTTPS se estiver disponível para você.
|
||||
Estamos satisfeitos em trazer algumas melhorias úteis nesta atualização!
|
||||
|
||||
O desempenho para grandes coleções de álbuns foi significativamente aprimorado, tornando a navegação pela sua biblioteca musical mais suave e responsiva.
|
||||
|
||||
Obrigado por usar o Fintunes!
|
||||
@@ -1 +1,5 @@
|
||||
Это исправление, которое позволяет снова получить доступ к вашему серверу Jellyfin через HTTP. Пожалуйста, используйте HTTPS, если он вам доступен.
|
||||
Мы рады предоставить вам несколько полезных улучшений в этом обновлении!
|
||||
|
||||
Производительность для больших коллекций альбомов была значительно улучшена, что делает просмотр вашей музыкальной библиотеки более плавным и отзывчивым.
|
||||
|
||||
Спасибо за использование Fintunes!
|
||||
@@ -1 +1,5 @@
|
||||
Detta är en snabbkorrigering som gör det möjligt att komma åt din Jellyfin-server över HTTP igen. Använd HTTPS om det är tillgängligt för dig.
|
||||
Vi är glada att kunna erbjuda dig några användbara förbättringar i denna uppdatering!
|
||||
|
||||
Prestandan för stora albumsamlingar har förbättrats betydligt, vilket gör surfandet genom ditt musikbibliotek smidigare och mer responsivt.
|
||||
|
||||
Tack för att du använder Fintunes!
|
||||
@@ -1 +1,5 @@
|
||||
Це виправлення, яке знову робить можливим доступ до вашого сервера Jellyfin через HTTP. Використовуйте HTTPS, якщо він доступний.
|
||||
Ми раді принести вам кілька корисних покращень у цьому оновленні!
|
||||
|
||||
Продуктивність для великих колекцій альбомів була значно покращена, роблячи перегляд вашої музичної бібліотеки плавнішим та більш відгукливим.
|
||||
|
||||
Дякуємо за використання Fintunes!
|
||||
@@ -1 +1,5 @@
|
||||
这是一个修补程序,可以再次通过 HTTP 访问 Jellyfin 服务器。 如果您可以使用 HTTPS,请务必使用它。
|
||||
我们很高兴为您带来此次更新中的一些实用改进!
|
||||
|
||||
大型专辑集合的性能得到了显著提升,使您浏览音乐库更加流畅和响应迅速。
|
||||
|
||||
感谢您使用Fintunes!
|
||||
@@ -1 +1,5 @@
|
||||
這是一個緊急修復,讓您可以再次透過 HTTP 訪問您的 Jellyfin 伺服器。如果可能,請優先使用 HTTPS。
|
||||
我們很高興為您帶來此次更新中的一些實用改進!
|
||||
|
||||
大型專輯集合的性能得到了顯著提升,使您瀏覽音樂庫更加流暢和響應迅速。
|
||||
|
||||
感謝您使用Fintunes!
|
||||
@@ -1 +1 @@
|
||||
export NODE_BINARY=/opt/homebrew/bin/node
|
||||
export NODE_BINARY=$(command -v node)
|
||||
|
||||
48
ios/AppDelegate.swift
Normal file
48
ios/AppDelegate.swift
Normal file
@@ -0,0 +1,48 @@
|
||||
import UIKit
|
||||
import React
|
||||
import React_RCTAppDelegate
|
||||
import ReactAppDependencyProvider
|
||||
|
||||
@main
|
||||
class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
var window: UIWindow?
|
||||
|
||||
var reactNativeDelegate: ReactNativeDelegate?
|
||||
var reactNativeFactory: RCTReactNativeFactory?
|
||||
|
||||
func application(
|
||||
_ application: UIApplication,
|
||||
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
|
||||
) -> Bool {
|
||||
let delegate = ReactNativeDelegate()
|
||||
let factory = RCTReactNativeFactory(delegate: delegate)
|
||||
delegate.dependencyProvider = RCTAppDependencyProvider()
|
||||
|
||||
reactNativeDelegate = delegate
|
||||
reactNativeFactory = factory
|
||||
|
||||
window = UIWindow(frame: UIScreen.main.bounds)
|
||||
|
||||
factory.startReactNative(
|
||||
withModuleName: "Fintunes",
|
||||
in: window,
|
||||
launchOptions: launchOptions
|
||||
)
|
||||
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
class ReactNativeDelegate: RCTDefaultReactNativeFactoryDelegate {
|
||||
override func sourceURL(for bridge: RCTBridge) -> URL? {
|
||||
self.bundleURL()
|
||||
}
|
||||
|
||||
override func bundleURL() -> URL? {
|
||||
#if DEBUG
|
||||
RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index")
|
||||
#else
|
||||
Bundle.main.url(forResource: "main", withExtension: "jsbundle")
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
//
|
||||
// File.swift
|
||||
// JellyfinAudioPlayer
|
||||
//
|
||||
// Created by Lei Nelissen on 02/11/2020.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
@@ -1,4 +0,0 @@
|
||||
//
|
||||
// Use this file to import your target's public headers that you would like to expose to Swift.
|
||||
//
|
||||
|
||||
@@ -8,26 +8,16 @@
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
01DDB50991998A6D20A1A5CD /* libPods-Fintunes.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E22EC545298DA9F9017776C0 /* libPods-Fintunes.a */; };
|
||||
13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
|
||||
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; };
|
||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
||||
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
||||
4C04FC6E055249ABB204D3BC /* Inter-VariableFont_slnt,wght.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 4B4A0465FF364579B28CF5D7 /* Inter-VariableFont_slnt,wght.ttf */; };
|
||||
4FA1B23D2550A94C007A035E /* File.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FA1B23C2550A94C007A035E /* File.swift */; };
|
||||
96A76B2DA812E1F2E353959C /* libPods-Fintunes-FintunesTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 406012091F4F831F72DFB5D2 /* libPods-Fintunes-FintunesTests.a */; };
|
||||
AB393FCA2857CC8400773469 /* SnapshotHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB393FC92857CC8400773469 /* SnapshotHelper.swift */; };
|
||||
AB4A8DFE2857C8DA005A1ED0 /* FintunesUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB4A8DFD2857C8DA005A1ED0 /* FintunesUITests.swift */; };
|
||||
AB7AA5F92DC8E5D600578CAC /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB7AA5F82DC8E5D600578CAC /* AppDelegate.swift */; };
|
||||
FA01635F2599C28FC19F2EC3 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 3896494129CBC30258D9BB1C /* PrivacyInfo.xcprivacy */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 13B07F861A680F5B00A75B9A;
|
||||
remoteInfo = Fintunes;
|
||||
};
|
||||
AB4A8E012857C8DA005A1ED0 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
|
||||
@@ -38,40 +28,25 @@
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
00E356EE1AD99517003FC87E /* FintunesTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FintunesTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
13B07F961A680F5B00A75B9A /* Fintunes.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Fintunes.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Fintunes/AppDelegate.h; sourceTree = "<group>"; };
|
||||
13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = Fintunes/AppDelegate.m; sourceTree = "<group>"; };
|
||||
13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
|
||||
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Fintunes/Images.xcassets; sourceTree = "<group>"; };
|
||||
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Fintunes/Info.plist; sourceTree = "<group>"; };
|
||||
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Fintunes/main.m; sourceTree = "<group>"; };
|
||||
3896494129CBC30258D9BB1C /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = Fintunes/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
|
||||
3896494129CBC30258D9BB1C /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = Fintunes/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
|
||||
406012091F4F831F72DFB5D2 /* libPods-Fintunes-FintunesTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Fintunes-FintunesTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4B4A0465FF364579B28CF5D7 /* Inter-VariableFont_slnt,wght.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-VariableFont_slnt,wght.ttf"; path = "../src/assets/fonts/Inter-VariableFont_slnt,wght.ttf"; sourceTree = "<group>"; };
|
||||
4FA1B23B2550A94B007A035E /* Fintunes-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Fintunes-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
4FA1B23C2550A94C007A035E /* File.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = File.swift; sourceTree = "<group>"; };
|
||||
55063C1C8FC150384B504BD6 /* Pods-Fintunes.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Fintunes.debug.xcconfig"; path = "Target Support Files/Pods-Fintunes/Pods-Fintunes.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
5892110C5BD456492E65B0FC /* Pods-Fintunes.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Fintunes.release.xcconfig"; path = "Target Support Files/Pods-Fintunes/Pods-Fintunes.release.xcconfig"; sourceTree = "<group>"; };
|
||||
AB393FC92857CC8400773469 /* SnapshotHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SnapshotHelper.swift; sourceTree = "<group>"; };
|
||||
AB4A8DFB2857C8DA005A1ED0 /* FintunesUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FintunesUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
AB4A8DFD2857C8DA005A1ED0 /* FintunesUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FintunesUITests.swift; sourceTree = "<group>"; };
|
||||
BB181C2EAAC2E99F00A27B5F /* Pods-Fintunes-FintunesTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Fintunes-FintunesTests.release.xcconfig"; path = "Target Support Files/Pods-Fintunes-FintunesTests/Pods-Fintunes-FintunesTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
AB7AA5F82DC8E5D600578CAC /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
E22EC545298DA9F9017776C0 /* libPods-Fintunes.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Fintunes.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
E9A22426CA08309D7A874468 /* Pods-Fintunes-FintunesTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Fintunes-FintunesTests.debug.xcconfig"; path = "Target Support Files/Pods-Fintunes-FintunesTests/Pods-Fintunes-FintunesTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
||||
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
00E356EB1AD99517003FC87E /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
96A76B2DA812E1F2E353959C /* libPods-Fintunes-FintunesTests.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -93,14 +68,10 @@
|
||||
13B07FAE1A68108700A75B9A /* Fintunes */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
13B07FAF1A68108700A75B9A /* AppDelegate.h */,
|
||||
13B07FB01A68108700A75B9A /* AppDelegate.m */,
|
||||
AB7AA5F82DC8E5D600578CAC /* AppDelegate.swift */,
|
||||
13B07FB51A68108700A75B9A /* Images.xcassets */,
|
||||
13B07FB61A68108700A75B9A /* Info.plist */,
|
||||
13B07FB11A68108700A75B9A /* LaunchScreen.xib */,
|
||||
13B07FB71A68108700A75B9A /* main.m */,
|
||||
4FA1B23C2550A94C007A035E /* File.swift */,
|
||||
4FA1B23B2550A94B007A035E /* Fintunes-Bridging-Header.h */,
|
||||
3896494129CBC30258D9BB1C /* PrivacyInfo.xcprivacy */,
|
||||
);
|
||||
name = Fintunes;
|
||||
@@ -122,8 +93,6 @@
|
||||
children = (
|
||||
55063C1C8FC150384B504BD6 /* Pods-Fintunes.debug.xcconfig */,
|
||||
5892110C5BD456492E65B0FC /* Pods-Fintunes.release.xcconfig */,
|
||||
E9A22426CA08309D7A874468 /* Pods-Fintunes-FintunesTests.debug.xcconfig */,
|
||||
BB181C2EAAC2E99F00A27B5F /* Pods-Fintunes-FintunesTests.release.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
@@ -155,7 +124,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
13B07F961A680F5B00A75B9A /* Fintunes.app */,
|
||||
00E356EE1AD99517003FC87E /* FintunesTests.xctest */,
|
||||
AB4A8DFB2857C8DA005A1ED0 /* FintunesUITests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
@@ -181,27 +149,6 @@
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
00E356ED1AD99517003FC87E /* FintunesTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "FintunesTests" */;
|
||||
buildPhases = (
|
||||
4C89666008ED1AECA3700F1B /* [CP] Check Pods Manifest.lock */,
|
||||
00E356EA1AD99517003FC87E /* Sources */,
|
||||
00E356EB1AD99517003FC87E /* Frameworks */,
|
||||
00E356EC1AD99517003FC87E /* Resources */,
|
||||
105D0C84EA50AA33C7A575A2 /* [CP] Embed Pods Frameworks */,
|
||||
D9A3A76E8CEBB2167393A14A /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
00E356F51AD99517003FC87E /* PBXTargetDependency */,
|
||||
);
|
||||
name = FintunesTests;
|
||||
productName = FintunesTests;
|
||||
productReference = 00E356EE1AD99517003FC87E /* FintunesTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
13B07F861A680F5B00A75B9A /* Fintunes */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Fintunes" */;
|
||||
@@ -250,21 +197,15 @@
|
||||
LastSwiftUpdateCheck = 1340;
|
||||
LastUpgradeCheck = 1130;
|
||||
TargetAttributes = {
|
||||
00E356ED1AD99517003FC87E = {
|
||||
CreatedOnToolsVersion = 6.2;
|
||||
DevelopmentTeam = HD2D35G9Y4;
|
||||
ProvisioningStyle = Manual;
|
||||
TestTargetID = 13B07F861A680F5B00A75B9A;
|
||||
};
|
||||
13B07F861A680F5B00A75B9A = {
|
||||
DevelopmentTeam = HD2D35G9Y4;
|
||||
LastSwiftMigration = 1210;
|
||||
ProvisioningStyle = Automatic;
|
||||
ProvisioningStyle = Manual;
|
||||
};
|
||||
AB4A8DFA2857C8DA005A1ED0 = {
|
||||
CreatedOnToolsVersion = 13.4.1;
|
||||
DevelopmentTeam = HD2D35G9Y4;
|
||||
ProvisioningStyle = Automatic;
|
||||
ProvisioningStyle = Manual;
|
||||
TestTargetID = 13B07F861A680F5B00A75B9A;
|
||||
};
|
||||
};
|
||||
@@ -283,20 +224,12 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
13B07F861A680F5B00A75B9A /* Fintunes */,
|
||||
00E356ED1AD99517003FC87E /* FintunesTests */,
|
||||
AB4A8DFA2857C8DA005A1ED0 /* FintunesUITests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
00E356EC1AD99517003FC87E /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
13B07F8E1A680F5B00A75B9A /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -352,24 +285,6 @@
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Fintunes/Pods-Fintunes-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
105D0C84EA50AA33C7A575A2 /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Fintunes-FintunesTests/Pods-Fintunes-FintunesTests-frameworks.sh",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Fintunes-FintunesTests/Pods-Fintunes-FintunesTests-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
3A2533CC05843338D35BF11A /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -392,48 +307,6 @@
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
4C89666008ED1AECA3700F1B /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-Fintunes-FintunesTests-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
D9A3A76E8CEBB2167393A14A /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Fintunes-FintunesTests/Pods-Fintunes-FintunesTests-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/Sentry/Sentry.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Sentry.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Fintunes-FintunesTests/Pods-Fintunes-FintunesTests-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
EDBDE27F51B5399CA455AD4D /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -441,13 +314,27 @@
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Fintunes/Pods-Fintunes-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage/RNCAsyncStorage_resources.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNSVG/RNSVGFilters.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React-cxxreact_privacy.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/Sentry/Sentry.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNCAsyncStorage_resources.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNSVGFilters.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-cxxreact_privacy.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SDWebImage.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Sentry.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
@@ -457,20 +344,11 @@
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
00E356EA1AD99517003FC87E /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
13B07F871A680F5B00A75B9A /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */,
|
||||
4FA1B23D2550A94C007A035E /* File.swift in Sources */,
|
||||
13B07FC11A68108700A75B9A /* main.m in Sources */,
|
||||
AB7AA5F92DC8E5D600578CAC /* AppDelegate.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -486,11 +364,6 @@
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
00E356F51AD99517003FC87E /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 13B07F861A680F5B00A75B9A /* Fintunes */;
|
||||
targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */;
|
||||
};
|
||||
AB4A8E022857C8DA005A1ED0 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 13B07F861A680F5B00A75B9A /* Fintunes */;
|
||||
@@ -511,65 +384,6 @@
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
00E356F61AD99517003FC87E /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = E9A22426CA08309D7A874468 /* Pods-Fintunes-FintunesTests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
DEVELOPMENT_TEAM = HD2D35G9Y4;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = FintunesTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/usr/lib/swift",
|
||||
"$(inherited)",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
"-lc++",
|
||||
"$(inherited)",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Fintunes.app/Fintunes";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
00E356F71AD99517003FC87E /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = BB181C2EAAC2E99F00A27B5F /* Pods-Fintunes-FintunesTests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEVELOPMENT_TEAM = HD2D35G9Y4;
|
||||
INFOPLIST_FILE = FintunesTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/usr/lib/swift",
|
||||
"$(inherited)",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
"-lc++",
|
||||
"$(inherited)",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE = "915c5213-22f6-4f9d-8065-2a06300f9bfb";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Fintunes.app/Fintunes";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
13B07F941A680F5B00A75B9A /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 55063C1C8FC150384B504BD6 /* Pods-Fintunes.debug.xcconfig */;
|
||||
@@ -577,9 +391,11 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
CURRENT_PROJECT_VERSION = 102;
|
||||
CURRENT_PROJECT_VERSION = 124;
|
||||
DEVELOPMENT_TEAM = HD2D35G9Y4;
|
||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = HD2D35G9Y4;
|
||||
ENABLE_BITCODE = NO;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"$(inherited)",
|
||||
@@ -600,7 +416,7 @@
|
||||
PRODUCT_BUNDLE_IDENTIFIER = nl.moeilijkedingen.jellyfinaudioplayer;
|
||||
PRODUCT_NAME = Fintunes;
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Fintunes-Bridging-Header.h";
|
||||
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "nl.moeilijkedingen.jellyfinaudioplayer AppStore 1754345870";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 5.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
@@ -616,7 +432,7 @@
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
CURRENT_PROJECT_VERSION = 102;
|
||||
CURRENT_PROJECT_VERSION = 124;
|
||||
DEVELOPMENT_TEAM = HD2D35G9Y4;
|
||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = HD2D35G9Y4;
|
||||
INFOPLIST_FILE = Fintunes/Info.plist;
|
||||
@@ -635,8 +451,7 @@
|
||||
PRODUCT_NAME = Fintunes;
|
||||
PROVISIONING_PROFILE = "915c5213-22f6-4f9d-8065-2a06300f9bfb";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "nl.moeilijkedingen.jellyfinaudioplayer AppStore";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Fintunes-Bridging-Header.h";
|
||||
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "nl.moeilijkedingen.jellyfinaudioplayer AppStore 1754345870";
|
||||
SWIFT_VERSION = 5.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
@@ -711,6 +526,7 @@
|
||||
PRODUCT_NAME = Fintunes;
|
||||
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
|
||||
USE_HERMES = true;
|
||||
};
|
||||
name = Debug;
|
||||
@@ -796,7 +612,7 @@
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
CURRENT_PROJECT_VERSION = 102;
|
||||
CURRENT_PROJECT_VERSION = 124;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
DEVELOPMENT_TEAM = HD2D35G9Y4;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
@@ -831,7 +647,7 @@
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 102;
|
||||
CURRENT_PROJECT_VERSION = 124;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEVELOPMENT_TEAM = HD2D35G9Y4;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
@@ -854,15 +670,6 @@
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "FintunesTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
00E356F61AD99517003FC87E /* Debug */,
|
||||
00E356F71AD99517003FC87E /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Fintunes" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
#import <RCTAppDelegate.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface AppDelegate : RCTAppDelegate
|
||||
|
||||
@end
|
||||
@@ -1,31 +0,0 @@
|
||||
#import "AppDelegate.h"
|
||||
|
||||
#import <React/RCTBundleURLProvider.h>
|
||||
|
||||
@implementation AppDelegate
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
||||
{
|
||||
self.moduleName = @"Fintunes";
|
||||
// You can add your custom initial props in the dictionary below.
|
||||
// They will be passed down to the ViewController used by React Native.
|
||||
self.initialProps = @{};
|
||||
|
||||
return [super application:application didFinishLaunchingWithOptions:launchOptions];
|
||||
}
|
||||
|
||||
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
|
||||
{
|
||||
return [self bundleURL];
|
||||
}
|
||||
|
||||
- (NSURL *)bundleURL
|
||||
{
|
||||
#if DEBUG
|
||||
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
|
||||
#else
|
||||
return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
|
||||
#endif
|
||||
}
|
||||
|
||||
@end
|
||||
48
ios/Fintunes/AppDelegate.swift
Normal file
48
ios/Fintunes/AppDelegate.swift
Normal file
@@ -0,0 +1,48 @@
|
||||
import UIKit
|
||||
import React
|
||||
import React_RCTAppDelegate
|
||||
import ReactAppDependencyProvider
|
||||
|
||||
@main
|
||||
class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
var window: UIWindow?
|
||||
|
||||
var reactNativeDelegate: ReactNativeDelegate?
|
||||
var reactNativeFactory: RCTReactNativeFactory?
|
||||
|
||||
func application(
|
||||
_ application: UIApplication,
|
||||
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
|
||||
) -> Bool {
|
||||
let delegate = ReactNativeDelegate()
|
||||
let factory = RCTReactNativeFactory(delegate: delegate)
|
||||
delegate.dependencyProvider = RCTAppDependencyProvider()
|
||||
|
||||
reactNativeDelegate = delegate
|
||||
reactNativeFactory = factory
|
||||
|
||||
window = UIWindow(frame: UIScreen.main.bounds)
|
||||
|
||||
factory.startReactNative(
|
||||
withModuleName: "Fintunes",
|
||||
in: window,
|
||||
launchOptions: launchOptions
|
||||
)
|
||||
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
class ReactNativeDelegate: RCTDefaultReactNativeFactoryDelegate {
|
||||
override func sourceURL(for bridge: RCTBridge) -> URL? {
|
||||
self.bundleURL()
|
||||
}
|
||||
|
||||
override func bundleURL() -> URL? {
|
||||
#if DEBUG
|
||||
RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index")
|
||||
#else
|
||||
Bundle.main.url(forResource: "main", withExtension: "jsbundle")
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -17,11 +17,11 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>2.4.0</string>
|
||||
<string>2.4.6</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>102</string>
|
||||
<string>124</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>LSSupportsOpeningDocumentsInPlace</key>
|
||||
|
||||
@@ -4,6 +4,14 @@
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPITypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>C617.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
|
||||
@@ -20,14 +28,6 @@
|
||||
<string>35F9.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>C617.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>NSPrivacyCollectedDataTypes</key>
|
||||
<array/>
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "AppDelegate.h"
|
||||
|
||||
int main(int argc, char * argv[])
|
||||
{
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
|
||||
}
|
||||
}
|
||||
@@ -23,11 +23,6 @@ target 'Fintunes' do
|
||||
:app_path => "#{Pod::Config.instance.installation_root}/.."
|
||||
)
|
||||
|
||||
target 'FintunesTests' do
|
||||
inherit! :complete
|
||||
# Pods for testing
|
||||
end
|
||||
|
||||
post_install do |installer|
|
||||
# https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
|
||||
react_native_post_install(
|
||||
|
||||
3653
ios/Podfile.lock
3653
ios/Podfile.lock
File diff suppressed because it is too large
Load Diff
@@ -11,7 +11,7 @@ const { assetExts, sourceExts } = defaultConfig.resolver;
|
||||
* Metro configuration
|
||||
* https://facebook.github.io/metro/docs/configuration
|
||||
*
|
||||
* @type {import('metro-config').MetroConfig}
|
||||
* @type {import('@react-native/metro-config').MetroConfig}
|
||||
*/
|
||||
const config = {
|
||||
transformer: {
|
||||
@@ -29,7 +29,8 @@ const config = {
|
||||
},
|
||||
serializer: {
|
||||
customSerializer: createSentryMetroSerializer()
|
||||
}
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
module.exports = mergeConfig(defaultConfig, config);
|
||||
11470
package-lock.json
generated
11470
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
101
package.json
101
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "fintunes",
|
||||
"version": "2.4.0",
|
||||
"version": "2.4.6",
|
||||
"main": "src/index.js",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
@@ -8,74 +8,73 @@
|
||||
"ios": "react-native run-ios --scheme \"Fintunes\"",
|
||||
"start": "react-native start",
|
||||
"lint": "eslint ./src --ext .js,.jsx,.ts,.tsx && tsc --noEmit",
|
||||
"build:ios": "react-native bundle --entry-file='index.js' --bundle-output='./ios/main.jsbundle' --dev=false --platform='ios'",
|
||||
"postinstall": "patch-package"
|
||||
"build:ios": "react-native bundle --entry-file='index.js' --bundle-output='./ios/main.jsbundle' --dev=false --platform='ios'"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-native-async-storage/async-storage": "^1.21.0",
|
||||
"@d11/react-native-fast-image": "^8.9.2",
|
||||
"@react-native-async-storage/async-storage": "^2.1.2",
|
||||
"@react-native-community/blur": "^4.4.1",
|
||||
"@react-native-community/datetimepicker": "^7.6.2",
|
||||
"@react-native-community/netinfo": "^11.2.1",
|
||||
"@react-navigation/bottom-tabs": "^6.5.12",
|
||||
"@react-navigation/elements": "^1.3.22",
|
||||
"@react-navigation/native": "^6.1.10",
|
||||
"@react-navigation/native-stack": "^6.9.18",
|
||||
"@react-navigation/stack": "^6.3.21",
|
||||
"@reduxjs/toolkit": "^2.1.0",
|
||||
"@shopify/react-native-skia": "^0.1.238",
|
||||
"date-fns": "^3.3.1",
|
||||
"@react-native-community/datetimepicker": "^8.3.0",
|
||||
"@react-native-community/netinfo": "^11.4.1",
|
||||
"@react-navigation/bottom-tabs": "^6.6.1",
|
||||
"@react-navigation/elements": "^1.3.31",
|
||||
"@react-navigation/native": "^6.1.18",
|
||||
"@react-navigation/native-stack": "^6.11.0",
|
||||
"@react-navigation/stack": "^6.4.1",
|
||||
"@reduxjs/toolkit": "^2.7.0",
|
||||
"@shopify/flash-list": "^1.8.0",
|
||||
"@shopify/react-native-skia": "2.0.0-next.3",
|
||||
"date-fns": "^3.6.0",
|
||||
"events": "^3.3.0",
|
||||
"fuse.js": "^7.0.0",
|
||||
"i18n-js": "^4.3.2",
|
||||
"fuse.js": "^7.1.0",
|
||||
"i18n-js": "^4.5.1",
|
||||
"lodash": "^4.17.21",
|
||||
"mime-db": "^1.53.0",
|
||||
"react": "^18.2.0",
|
||||
"mime": "^4.0.7",
|
||||
"react": "19.0.0",
|
||||
"react-airplay": "^1.2.0",
|
||||
"react-native": "0.74.3",
|
||||
"react-native": "^0.79.2",
|
||||
"react-native-accessibility-settings": "^0.1.2",
|
||||
"react-native-collapsible": "^1.6.1",
|
||||
"react-native-dotenv": "^3.4.9",
|
||||
"react-native-fast-image": "^8.6.3",
|
||||
"react-native-collapsible": "^1.6.2",
|
||||
"react-native-dotenv": "^3.4.11",
|
||||
"react-native-fs": "^2.20.0",
|
||||
"react-native-gesture-handler": "^2.15.0",
|
||||
"react-native-localize": "^3.0.6",
|
||||
"react-native-gesture-handler": "^2.25.0",
|
||||
"react-native-localize": "^3.4.1",
|
||||
"react-native-modal-datetime-picker": "^17.1.0",
|
||||
"react-native-reanimated": "^3.14.0",
|
||||
"react-native-safe-area-context": "^4.10.8",
|
||||
"react-native-screens": "^3.29.0",
|
||||
"react-native-shadow-2": "^7.0.8",
|
||||
"react-native-svg": "^14.1.0",
|
||||
"react-native-track-player": "^4.0.1",
|
||||
"react-native-webview": "^13.7.1",
|
||||
"react-redux": "^9.1.0",
|
||||
"react-native-reanimated": "^3.17.5",
|
||||
"react-native-safe-area-context": "^5.4.0",
|
||||
"react-native-screens": "^4.10.0",
|
||||
"react-native-shadow-2": "^7.1.1",
|
||||
"react-native-svg": "^15.11.2",
|
||||
"react-native-track-player": "npm:@weights-ai/react-native-track-player@^4.1.4",
|
||||
"react-native-webview": "^13.13.5",
|
||||
"react-redux": "^9.2.0",
|
||||
"redux": "^5.0.1",
|
||||
"redux-persist": "^6.0.0",
|
||||
"styled-components": "^6.1.8"
|
||||
"styled-components": "^6.1.19"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.20.2",
|
||||
"@babel/runtime": "^7.20.1",
|
||||
"@react-native/babel-preset": "0.74.85",
|
||||
"@react-native/metro-config": "0.74.85",
|
||||
"@babel/core": "^7.27.1",
|
||||
"@babel/runtime": "^7.27.1",
|
||||
"@react-native-community/cli": "^18.0.0",
|
||||
"@react-native/babel-preset": "^0.79.2",
|
||||
"@react-native/metro-config": "^0.79.2",
|
||||
"@react-native/typescript-config": "0.74.85",
|
||||
"@sentry/cli": "^2.33.0",
|
||||
"@sentry/react-native": "^5.26.0",
|
||||
"@sentry/cli": "^2.44.0",
|
||||
"@sentry/react-native": "^6.13.0",
|
||||
"@types/i18n-js": "^3.8.9",
|
||||
"@types/lodash": "^4.14.202",
|
||||
"@types/mime-db": "^1.43.5",
|
||||
"@types/node": "^20.11.17",
|
||||
"@types/react": "^18.2.55",
|
||||
"@types/lodash": "^4.17.16",
|
||||
"@types/node": "^20.17.32",
|
||||
"@types/react": "^18.3.20",
|
||||
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
||||
"@typescript-eslint/parser": "^6.21.0",
|
||||
"babel-plugin-module-resolver": "^5.0.0",
|
||||
"eslint": "^8.56.0",
|
||||
"eslint-plugin-react": "^7.33.2",
|
||||
"eslint-plugin-react-hooks": "^4.6.0",
|
||||
"babel-plugin-module-resolver": "^5.0.2",
|
||||
"eslint": "^8.57.1",
|
||||
"eslint-plugin-react": "^7.37.5",
|
||||
"eslint-plugin-react-hooks": "^4.6.2",
|
||||
"metro-react-native-babel-transformer": "^0.77.0",
|
||||
"patch-package": "^8.0.0",
|
||||
"react-native-svg-transformer": "^1.3.0",
|
||||
"tslib": "^2.6.2",
|
||||
"typescript": "^5.3.3"
|
||||
"react-native-svg-transformer": "^1.5.1",
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.8.3"
|
||||
},
|
||||
"jest": {
|
||||
"preset": "react-native",
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/node_modules/@react-native-community/datetimepicker/ios/RNDateTimePickerShadowView.m b/node_modules/@react-native-community/datetimepicker/ios/RNDateTimePickerShadowView.m
|
||||
index c139440..4ff3362 100644
|
||||
--- a/node_modules/@react-native-community/datetimepicker/ios/RNDateTimePickerShadowView.m
|
||||
+++ b/node_modules/@react-native-community/datetimepicker/ios/RNDateTimePickerShadowView.m
|
||||
@@ -41,7 +41,7 @@
|
||||
YGNodeMarkDirty(self.yogaNode);
|
||||
}
|
||||
|
||||
-static YGSize RNDateTimePickerShadowViewMeasure(YGNodeRef node, float width, YGMeasureMode widthMode, float height, YGMeasureMode heightMode)
|
||||
+static YGSize RNDateTimePickerShadowViewMeasure(YGNodeConstRef node, float width, YGMeasureMode widthMode, float height, YGMeasureMode heightMode)
|
||||
{
|
||||
RNDateTimePickerShadowView *shadowPickerView = (__bridge RNDateTimePickerShadowView *)YGNodeGetContext(node);
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
diff --git a/node_modules/@sentry/react-native/scripts/sentry-xcode-debug-files.sh b/node_modules/@sentry/react-native/scripts/sentry-xcode-debug-files.sh
|
||||
index 6427338..c84ac33 100755
|
||||
--- a/node_modules/@sentry/react-native/scripts/sentry-xcode-debug-files.sh
|
||||
+++ b/node_modules/@sentry/react-native/scripts/sentry-xcode-debug-files.sh
|
||||
@@ -2,8 +2,8 @@
|
||||
# Upload Debug Symbols to Sentry Xcode Build Phase
|
||||
# PWD=ios
|
||||
|
||||
-# print commands before executing them and stop on first error
|
||||
-set -x -e
|
||||
+# print commands before executing them
|
||||
+set -x
|
||||
|
||||
[ -z "$WITH_ENVIRONMENT" ] && WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
|
||||
|
||||
@@ -12,6 +12,9 @@ if [ -f "$WITH_ENVIRONMENT" ]; then
|
||||
. "$WITH_ENVIRONMENT"
|
||||
fi
|
||||
|
||||
+# stop on first error (we can't use -e before as any failed command in WITH_ENVIRONMENT would stop the debug files upload)
|
||||
+set -e
|
||||
+
|
||||
LOCAL_NODE_BINARY=${NODE_BINARY:-node}
|
||||
|
||||
[ -z "$SENTRY_PROPERTIES" ] && export SENTRY_PROPERTIES=sentry.properties
|
||||
24
patches/@weights-ai__react-native-track-player.patch
Normal file
24
patches/@weights-ai__react-native-track-player.patch
Normal file
@@ -0,0 +1,24 @@
|
||||
diff --git a/android/src/main/java/com/doublesymmetry/trackplayer/service/MusicService.kt b/android/src/main/java/com/doublesymmetry/trackplayer/service/MusicService.kt
|
||||
index baeebce2489e6f9e47ce2ebb9332072e31ba24d5..e52a053d99fcc568d03a0294840b0463f04d01c9 100644
|
||||
--- a/android/src/main/java/com/doublesymmetry/trackplayer/service/MusicService.kt
|
||||
+++ b/android/src/main/java/com/doublesymmetry/trackplayer/service/MusicService.kt
|
||||
@@ -756,10 +756,15 @@ class MusicService : HeadlessJsTaskService() {
|
||||
return HeadlessJsTaskConfig(TASK_KEY, Arguments.createMap(), 0, true)
|
||||
}
|
||||
|
||||
- // @MainThread
|
||||
- // fun onBind(intent: Intent?): IBinder {
|
||||
- // return binder
|
||||
- // }
|
||||
+ @MainThread
|
||||
+ override fun onBind(intent: Intent): IBinder {
|
||||
+ return binder
|
||||
+ }
|
||||
+
|
||||
+ @MainThread
|
||||
+ override fun onUnbind(intent: Intent): Boolean {
|
||||
+ return super.onUnbind(intent)
|
||||
+ }
|
||||
|
||||
@MainThread
|
||||
override fun onTaskRemoved(rootIntent: Intent?) {
|
||||
@@ -1,22 +0,0 @@
|
||||
diff --git a/node_modules/react-native-fast-image/ios/FastImage/FFFastImageView.m b/node_modules/react-native-fast-image/ios/FastImage/FFFastImageView.m
|
||||
index f710081..87c4532 100644
|
||||
--- a/node_modules/react-native-fast-image/ios/FastImage/FFFastImageView.m
|
||||
+++ b/node_modules/react-native-fast-image/ios/FastImage/FFFastImageView.m
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
- (void) setOnFastImageLoadEnd: (RCTDirectEventBlock)onFastImageLoadEnd {
|
||||
_onFastImageLoadEnd = onFastImageLoadEnd;
|
||||
- if (self.hasCompleted) {
|
||||
+ if (self.hasCompleted && _onFastImageLoadEnd != NULL) {
|
||||
_onFastImageLoadEnd(@{});
|
||||
}
|
||||
}
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
- (void) setOnFastImageError: (RCTDirectEventBlock)onFastImageError {
|
||||
_onFastImageError = onFastImageError;
|
||||
- if (self.hasErrored) {
|
||||
+ if (self.hasErrored && _onFastImageError != NULL) {
|
||||
_onFastImageError(@{});
|
||||
}
|
||||
}
|
||||
27
patches/react-native-webview.patch
Normal file
27
patches/react-native-webview.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
diff --git a/apple/RNCWebView.mm b/apple/RNCWebView.mm
|
||||
index f9d080e3dc6670a2c03208de5b95b1532d001d23..94522636587d71c4deefd1e09fd05e04c616d617 100644
|
||||
--- a/apple/RNCWebView.mm
|
||||
+++ b/apple/RNCWebView.mm
|
||||
@@ -244,7 +244,7 @@ auto stringToOnLoadingFinishNavigationTypeEnum(std::string value) {
|
||||
webViewEventEmitter->onHttpError(data);
|
||||
}
|
||||
};
|
||||
- self.contentView = _view;
|
||||
+ [self addSubview:_view];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
@@ -488,6 +488,13 @@ auto stringToOnLoadingFinishNavigationTypeEnum(std::string value) {
|
||||
[super updateProps:props oldProps:oldProps];
|
||||
}
|
||||
|
||||
+-(void)layoutSubviews
|
||||
+{
|
||||
+ [super layoutSubviews];
|
||||
+ _view.frame = self.bounds;
|
||||
+}
|
||||
+
|
||||
+
|
||||
- (void)handleCommand:(nonnull const NSString *)commandName args:(nonnull const NSArray *)args {
|
||||
RCTRNCWebViewHandleCommand(self, commandName, args);
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user