Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

ASF's docker "latest" containers have broken ASF-ui and localization #1812

Closed
JustArchi opened this issue May 30, 2020 · 20 comments · Fixed by #1999
Closed

ASF's docker "latest" containers have broken ASF-ui and localization #1812

JustArchi opened this issue May 30, 2020 · 20 comments · Fixed by #1999
Labels
🐛 Bug Issues marked with this label indicate unintended program behaviour that needs correction. ☝️ External Issues marked with this label have external scope and typically depend on third-party projects. 🏁 Finished Issues marked with this label were finished already and no further work is required on them. ⛔ On hold Issues marked with this label are blocked from being worked on, very often due to third-parties. 💥 Regression Issues marked with this label are regressions - bugs that were introduced recently.

Comments

@JustArchi
Copy link
Member

JustArchi commented May 30, 2020

See upstream issue: dotnet/runtime#37208

The fix is actually not so obvious, as I'd need to disable the single file publish in linux-* OS-specific packages that latest containers actually update to, and that would kill the properly working functionality on barebones Linux machines. Not the cleanest solution.

If there is no good solution to this issue, I'll do that in a few days. The optimal solution would be finding out what causes this issue in docker and working it around for time being.

@JustArchi JustArchi added 🐛 Bug Issues marked with this label indicate unintended program behaviour that needs correction. ⛔ On hold Issues marked with this label are blocked from being worked on, very often due to third-parties. 🟡 Medium priority Issues marked with this label have a priority, unless there is something even more important. 💥 Regression Issues marked with this label are regressions - bugs that were introduced recently. labels May 30, 2020
@JustArchi JustArchi changed the title ASF-ui isn't working properly in docker "latest" containers, as well as localization ASF's docker "latest" containers have broken ASF-ui and localization May 30, 2020
@JustArchi JustArchi added ☝️ External Issues marked with this label have external scope and typically depend on third-party projects. and removed 🟡 Medium priority Issues marked with this label have a priority, unless there is something even more important. labels May 30, 2020
JustArchi added a commit that referenced this issue Jun 5, 2020
@JustArchi
Copy link
Member Author

I've added awful code in 28ebc49 as a workaround, this issue will stay to remind me how ashamed of myself I should feel, until proper fix from .NET Core folks is up.

@KamilLenica
Copy link

KamilLenica commented Jun 8, 2020

webUI is still unavailable in docker on Raspberry Pi 4

|ArchiSteamFarm-13|INFO|ASF|Update() Checking for new version...
|ArchiSteamFarm-13|INFO|ASF|Update() Local version: 4.2.2.0 | Remote version: 4.2.2.0
ArchiSteamFarm V4.2.2.0 (linux-arm/27f9d66a-8a62-4fdf-9100-02e28be79d66 | Linux 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020)
|ArchiSteamFarm-14|INFO|ASF|InitASF() ArchiSteamFarm V4.2.2.0 (linux-arm/27f9d66a-8a62-4fdf-9100-02e28be79d66 | Linux 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020)

@JustArchi
Copy link
Member Author

Fixed in V4.2.2.1, quite funny that .NET Core changed the path just after I added a workaround for it.

@IceCodeNew
Copy link

I've got the same problem here on the pre-release channel (V4.2.2.5)

docker image DIGEST:sha256:b909c3ba412f9ea017510ca8b70c40542bccdffca710c7d443f539f2db85bd06

image

2020-06-15 02:06:25|dotnet-12|INFO|ASF|InitASF() ArchiSteamFarm V4.2.2.5 (docker/10000ecd-f4c8-4ffe-905d-e80dcc59ecee | Linux 5.6.0-1011-oem #11-Ubuntu SMP Fri May 22 08:47:34 UTC 2020)
2020-06-15 02:06:25|dotnet-12|INFO|ASF|InitGlobalConfigAndLanguage() ASF will attempt to use your preferred zh-CN culture, but translation in that language was completed only in 0.0%. Perhaps you could help us improve ASF translation for your language?


image
I can't find any wrong path separator in this docker image. Thus I'm wondering something else leads to this problem.

@JustArchi
Copy link
Member Author

Should work fine after you restart the image. This is a workaround, the key functionality was to fix ASF-ui, localization is more misc.

@IceCodeNew
Copy link

Should work fine after you restart the image. This is a workaround.

Restarting the container doesn't solve the problem.

the key functionality was to fix ASF-ui, localization is more misc.

I see. But I'll still be looking forward to this problem getting solved.

@JustArchi
Copy link
Member Author

Restarting the container doesn't solve the problem.

To the best of my knowledge localization never worked in docker containers due to missing libicu, but I might be wrong.

@IceCodeNew
Copy link

IceCodeNew commented Jun 15, 2020

Restarting the container doesn't solve the problem.

To the best of my knowledge localization never worked in docker containers due to missing libicu, but I might be wrong.

Actually there seems to be no problem in handling Chinese characters. Just several minutes after I commented on this issue, I managed to solve the IPC problem and engage SteamTokenDumperPlugin.

For the first time I figured out a proper configuration, I can see the log info emit by SteamTokenDumperPlugin was larded with Chinese characters (Hanzi).

Though the situation there can barely be called Localization, as there is only one English word been changed (minutes -> '分')

@JustArchi
Copy link
Member Author

JustArchi commented Jun 15, 2020

Localization has nothing to do with ASF being capable (or not) of handling chinese characters, ASF is UTF8 (actually Unicode) compatible and aware. You can use russian localization with chinese names for bots for example.

And yes, minutes come from humanizer, this is why they were translated.

@IceCodeNew
Copy link

Localization has nothing to do with ASF being capable (or not) of handling chinese characters, ASF is UTF8 (actually Unicode) compatible and aware. You can use russian localization with chinese names for bots for example.

And yes, minutes come from humanizer, this is why they were translated.

Got it. So once we modify the dockerfile by adding libicu to the line interest in, then re-build the image, we might be able to solve this problem?

@JustArchi
Copy link
Member Author

JustArchi commented Jun 15, 2020

Probably, I'm not sure, fact is that everything we do in this issue is a workaround for .NET Core bug which shouldn't (and actually is impossible to) be solved by us.

You can give it a try with other docker images, such as released which do not suffer from this problem. If you find out that adding libicu to it fixes localization, you can submit a PR to our dockerfiles adding it.

@MrMarble

This comment has been minimized.

@legendofmiracles

This comment has been minimized.

@JustArchiNET JustArchiNET locked as off-topic and limited conversation to collaborators Jul 18, 2020
@JustArchiNET JustArchiNET unlocked this conversation Aug 9, 2020
@JustArchi
Copy link
Member Author

JustArchi commented Aug 9, 2020

This issue is supposed to be fixed with dotnet/sdk#12814 - if we're lucky, it'll make it to .NET 5.0 release.

(Please avoid spamming this issue with problems unrelated to the one discussed here, especially if it has nothing to do with ASF development, thank you)

@JustArchi JustArchi added the 🏁 Finished Issues marked with this label were finished already and no further work is required on them. label Aug 9, 2020
@deluxghost
Copy link

@IceCodeNew That is an older issue of dotnet that is never resolved: dotnet/msbuild#3897.

Archi has added a workaround here but it doesn't work

# TODO: Remove workaround for https://github.com/microsoft/msbuild/issues/3897 when it's no longer needed
if [ -f "ArchiSteamFarm/Localization/Strings.zh-CN.resx" ]; then ln -s "Strings.zh-CN.resx" "ArchiSteamFarm/Localization/Strings.zh-Hans.resx"; fi && \
if [ -f "ArchiSteamFarm/Localization/Strings.zh-TW.resx" ]; then ln -s "Strings.zh-TW.resx" "ArchiSteamFarm/Localization/Strings.zh-Hant.resx"; fi && \

@JustArchi JustArchi mentioned this issue Oct 4, 2020
6 tasks
JustArchi added a commit that referenced this issue Oct 4, 2020
@JustArchi
Copy link
Member Author

If you'd like to test if .NET 5.0 solves this issue, I've set up my docker CI to build experimental-net5.0 tag, together with -arm and -arm64 release. This should be available later today.

Check #1999 for more details.

@IceCodeNew
Copy link

IceCodeNew commented Oct 4, 2020

If you'd like to test if .NET 5.0 solves this issue, I've set up my docker CI to build experimental-net5.0 tag, together with -arm and -arm64 release. This should be available later today.

Check #1999 for more details.

I'm willing to help.


Sadly, the problem is not solved.
@JustArchi

podman run --replace \
>            --label "io.containers.autoupdate=image" \
>            --restart=unless-stopped --name asf \
>            -it -e 'ASF_CRYPTKEY=***********' \
>            -p '127.0.0.1:1242:1242' -p '[::1]:1242:1242' \
>            -v /*********/ASF/config:/app/config \
>            justarchi/archisteamfarm:experimental-net5.0
Trying to pull docker.io/justarchi/archisteamfarm:experimental-net5.0...
Getting image source signatures
Copying blob d121f8d1c412 skipped: already exists
Copying blob 79ede5f778f6 done
Copying blob 4626bc71e973 done
Copying blob 90e975024fc0 done
Copying blob 27dde5a13759 [======================================] 31.3MiB / 31.3MiB
Copying blob c17cd9c57b75 done
Copying blob b38be2705d59 done
Copying config 7c553b5c4a done
Writing manifest to image destination
Storing signatures
a687e54bca553e8bd1832e975af54ad74352020f044b5bf34ef9ea6eafa33c5b

Host (useful for support):
  Version: 5.0.0-rc.1.20451.14
  Commit:  38017c3935

.NET SDKs installed:
  No SDKs were found.

.NET runtimes installed:
  Microsoft.AspNetCore.App 5.0.0-rc.1.20451.17 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 5.0.0-rc.1.20451.14 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download
2020-10-04 16:33:39|dotnet-12|INFO|ASF|InitASF() ArchiSteamFarm V5.0.0.0 (docker/00472582-13d7-4ac0-8142-5e7a9e7de008 | Linux 5.6.0-1028-oem #28-Ubuntu SMP Tue Sep 8 13:34:39 UTC 2020)
2020-10-04 16:33:40|dotnet-12|INFO|ASF|InitGlobalConfigAndLanguage() ASF will attempt to use your preferred zh-CN culture, but translation in that language was completed only in 0.0%. Perhaps you could help us improve ASF translation for your language?
2020-10-04 16:33:40|dotnet-12|INFO|ASF|InitPlugins() Initializing Plugins...
2020-10-04 16:33:40|dotnet-12|INFO|ASF|InitPlugins() Loading SteamTokenDumperPlugin V5.0.0.0...
2020-10-04 16:33:40|dotnet-12|INFO|ASF|InitPlugins() SteamTokenDumperPlugin has been loaded successfully!
2020-10-04 16:33:40|dotnet-12|INFO|ASF|OnASFInit() SteamTokenDumperPlugin has been initialized successfully, thank you for your help. The first submission will happen in approximately 22 分 from now.
2020-10-04 16:33:40|dotnet-12|INFO|ASF|Start() Starting IPC server...
2020-10-04 16:33:41|dotnet-12|INFO|ASF|Start() IPC server ready!
2020-10-04 16:33:41|dotnet-12|INFO|Steam_USER|Start() Starting...
2020-10-04 16:33:41|dotnet-12|INFO|Steam_USER|Connect() Connecting...
2020-10-04 16:33:42|dotnet-12|INFO|Steam_USER|OnConnected() Connected to Steam!
2020-10-04 16:33:42|dotnet-12|INFO|Steam_USER|OnConnected() Logging in...
2020-10-04 16:33:43|dotnet-12|INFO|Steam_USER|OnLoggedOn() Successfully logged on as 0000000000000000000/Steam_USER.

@JustArchi
Copy link
Member Author

Non-working zh-CN localization in Docker is dotnet/msbuild#3897 issue which is still not solved, not this one. Other languages should work fine.

@IceCodeNew
Copy link

Non-working zh-CN localization in Docker is dotnet/msbuild#3897 issue which is still not solved, not this one. Other languages should work fine.

Got it.

@JustArchi
Copy link
Member Author

And yes, I confirmed that pl-PL language in docker container is solved with #1999, so it indeed looks fixed.

JustArchi added a commit that referenced this issue Nov 10, 2020
* Initial work

* Fix CIs

* Fix warnings

* Update .travis.yml

* Update dockerfiles

* Update libraries to .NET 5.0

* Misc

* Remove workaround for #1812

* Update cc.sh

* CI updates

* CI updates

* Update .travis.yml
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 11, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
🐛 Bug Issues marked with this label indicate unintended program behaviour that needs correction. ☝️ External Issues marked with this label have external scope and typically depend on third-party projects. 🏁 Finished Issues marked with this label were finished already and no further work is required on them. ⛔ On hold Issues marked with this label are blocked from being worked on, very often due to third-parties. 💥 Regression Issues marked with this label are regressions - bugs that were introduced recently.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants