FAForever Forums
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login

    Legacy client not working

    Scheduled Pinned Locked Moved General Discussion
    40 Posts 15 Posters 3.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • FtXCommandoF Offline
      FtXCommando
      last edited by

      You operate on the assumption that anyone on FAF can move dev resources to other projects. The main person responsible for Java Client was going to work on it regardless of what anyone else said (people already told him it was dumb when he started) and he wasn't going to change that. The people that moved in to help him after were people that preferred java and have openly said that they refuse to work in python.

      There is no "simply refactor and improve it bro." There was nothing prohibiting work on python. Python was not worked on because no one wanted to work on it. To the point we couldn't even find a dude to just maintain it and iron out basic bugs for like a period of 2 years. It broke because no one wants to bother with it.

      Dev resources are only wasted if there was an opportunity cost to a decision. If there wasn't, then there was nothing to waste. In fact forcefully prohibiting a dude to do his own thing which may or may not turn into a good thing down the road is in itself a waste.

      It was made unofficial because no one was working on it for 2 years. Making the face of your community something no one even wants to work on and has not worked on in forever is terrible practice. Most of the improvements to Java Client were only possible once you forced everyone to use it and actually explain what they saw as terrible. And guess what? A lot of those things got improved upon because there are devs that actually do things on the client.

      I do agree on your UI/UX complaints about things like the vault, though.

      1 Reply Last reply Reply Quote 2
      • FtXCommandoF Offline
        FtXCommando
        last edited by

        Actually gonna dump my old suggestion on replays here from old forums:

        Couldn't we just do a notification pop up after some condition (lose 3 games) is met? "Having trouble on the matchmaker? Try watching some replays in the online replay section to find improvements!"

        Part of the problem is probably that replays are stored under "Vault" now which IMO is not intuitive for the general user. There is also "online replays" and "live replays" and "local replays" which are also needlessly confusing.

        I would say a tab specifically called "Replays" would be better with "All (or FAF) Replays" (Replay Database?), "Ongoing Games", and "My Replays" would be better. Ideally you could be able to go to the "Leaderboards" tab and right click a name to look up their "replays" but that's just me dreaming.

        1 Reply Last reply Reply Quote 1
        • S Offline
          Sheikah
          last edited by

          I was planning on pulling the replays out and making the search function more intuitive as the next project just an FYI

          1 Reply Last reply Reply Quote 1
          • ThomasHiattT Offline
            ThomasHiatt
            last edited by

            Things only need work when they are bad or broken. I don't work on my truck every day. Outside of some simple maintenance every few months, it does what it is supposed to do without any work required from me. If my neighbor is constantly working on his truck I don't assume that his truck is better than mine, I assume it is worse because it requires a lot of work. That's the same way I feel about these clients.

            The python client works just fine and occasionally requires some maintenance every few months. Some random person comes along and fixes it rather quickly. A couple of the tabs don't work because they use old PHP stuff that was deleted for whatever reason. I doubt it would take much to get them working with the new API, I can use the API in my web browser so it seems pretty simple, but nobody cares about those tabs anyway. The Java client is constantly getting lots of work because it sucks and still needs a lot of work.

            On the topic of client tabs. It seems pretty stupid for these things to even be implemented in the client. It would be most efficient to implement them as web pages. This would make it possible to have replays, mods, maps, and leaderboards on the FAF website without requiring any client. The clients could simply display these pages and the tabs would be consistent and functional in both clients for free. This effort doesn't have to be duplicated and shouldn't be. Blodir created an online replay tool, and the leaderboards are already online, so this is clearly possible.

            I can see an immense amount of work going into the Java client but I still see all of the issues I mentioned remaining year after year, most of which were reported even before it was made the official client. I can see virtually no work going into the Python client yet it remains mostly functional and preferred by many people. I'm fairly confident it would take less work to fix the tabs in the python client and keep it running than to bring the Java client up to my standards. It would even be mostly free if the tabs were online.

            Of course, you cannot force people to do this. If they adamantly refuse to work on the Python client for whatever reason then that's how it will be. I can also continue to adamantly believe that is a stupid thing to do and complain about it. I am equally stubborn and refuse to open FAF anytime the Python client is broken and the Java client still sucks. I see them wrestling with Java and JavaFX constantly so it is strange for them to prefer it. In this language and framework, it is apparently a monumental task just to display a chat window and user list without using all of your RAM and CPU. Anyone who can program in Java can program in Python and vice-versa.

            Yes, I am grumpy and lazy and won't do any work on either client myself. People do work for free and I complain about it. So it goes.

            1 Reply Last reply Reply Quote 0
            • FtXCommandoF Offline
              FtXCommando
              last edited by FtXCommando

              "Preferred by many people." Only like 5% of FAF continued to use the Python Client within weeks of deprecating it. Most people just don't care what they use and will just take the one that you put in front of them, really. Or they just do prefer the Java Client.

              I don't really care about the client/web-based replay stuff, I just want the UX experience better. Whichever way brings that in is good to me.

              1 Reply Last reply Reply Quote 0
              • speed2S Offline
                speed2
                last edited by

                Why is it always the guy who says "could have simply been refactored and improved" and "I doubt it would take much" that never contributed single line of code.

                If it's all THAT simple, well, could you show us? We'd like to see.

                1 Reply Last reply Reply Quote 3
                • K Offline
                  Katharsas @ThomasHiatt
                  last edited by Katharsas

                  @ThomasHiatt said in Legacy client not working:

                  • Java client has cost FAF a very large amount of developer time for an inferior and unneeded product. Dev power is supposedly scarce around here and this is an egregious waste. The python client could have simply been refactored and improved. Even after several years of work the Java client is not really any better.

                  "Inferior": subjective
                  "unneeded": no
                  "not really any better" : repeating urself
                  "could have simply been refactored": so simple that nobody showed up for like 2 years after repeated calls for more python devs in the forums;

                  If was repeated about a 100 times already, but the python client was so abandoned that it actively blocked improvements to the entire rest of the FAF infrustructure.

                  Your nice idea about making websites today for vault tabs is only easily possible today because the Java API exists, which was basically blocked from being improved upon by the python client.

                  Java client reduced backend maintenance cost (which is more important than all of the points in your list), made map gen improvements easier or even happen at all, makes TMM UI happen and will probably in the future wipe your ass for you while you sit on the toilet complaining about it without noticing.

                  1 Reply Last reply Reply Quote 2
                  • G Offline
                    Grothe
                    last edited by

                    I was sad, that 0.18.9 wasn't working anymore .... but (in the getting-better-java-client) I got a link to here.
                    Very happy you fixed it... good old python-client. Thx 🙂

                    1 Reply Last reply Reply Quote 0
                    • D Offline
                      Didvul
                      last edited by

                      • The client now can keep game files in cache like the Java client.
                      • Fix fafbeta and fafdevelop updating issues.

                      Unofficial Python client 0.18.11

                      1 Reply Last reply Reply Quote 3
                      • D Offline
                        Didvul
                        last edited by

                        • Now it is possible to browse and search mods/maps by name in the vaults. Looks pretty ugly, but works! (i hope so)

                        Unofficial Python client 0.18.12

                        1 Reply Last reply Reply Quote 1
                        • Brutus5000B Online
                          Brutus5000 FAF Server Admin
                          last edited by

                          @Gatsik I ask once more: why don't you publish your changes to Github? Other people might want to build on top of your changes.
                          We can make you maintainer of the project and you can build official releases.

                          He said, "I've been to the year 3000
                          Not much has changed, but they live underwater
                          And your great-great-great-granddaughter
                          Is playin' FAF, playin' FAF"

                          1 Reply Last reply Reply Quote 1
                          • D Offline
                            Didvul
                            last edited by

                            But they are on Github, aren't they? Because I'm not a programmer and, firstly, I don't want to spoil anything, and secondly, I don't know when I'll stop trying to fix it.

                            P.S. Updated the release binary of the previous post from here, so map search should start to work

                            1 Reply Last reply Reply Quote 1
                            • Brutus5000B Online
                              Brutus5000 FAF Server Admin
                              last edited by

                              Well you started with whats on Github. So obviously it is found by people who are interested in it.
                              Also: What's there to spoil? Right now the github version is majorly broken and you have fixes.

                              He said, "I've been to the year 3000
                              Not much has changed, but they live underwater
                              And your great-great-great-granddaughter
                              Is playin' FAF, playin' FAF"

                              1 Reply Last reply Reply Quote 2
                              • ThomasHiattT Offline
                                ThomasHiatt
                                last edited by

                                For some reason, the leaderboard tab stopped working at some point. It used to just show the leaderboards web page from the FAF website. I think that is the ideal solution since it lets you look at the ladder league standings and stuff from within the client.

                                1 Reply Last reply Reply Quote 0
                                • D Offline
                                  Didvul
                                  last edited by

                                  @Brutus5000 I mean I read the docs, and I'm sure my code is awful inconsistent in terms of these requirements, I didn't use logger as I'm not sure where it is needed, repetitions that probably could've summarized into some classes, etc.
                                  I can do a pull request so someone who has expertise can review it if that is what you want from me.

                                  @ThomasHiatt I was thinking about using those internal 'Air scouts', 'Tech 1', ... tabs to rename them and asking api, since the playerDivisionInfo is available here, but probably adding the website would be easier.

                                  MazorNoobM 1 Reply Last reply Reply Quote 1
                                  • MazorNoobM Offline
                                    MazorNoob @Didvul
                                    last edited by

                                    @Gatsik I took a look at your commits , and as a long-time Python client maintainer I officially bless them as good.

                                    1 Reply Last reply Reply Quote 2
                                    • D Offline
                                      Didvul
                                      last edited by

                                      • Display the leaderboards web page from the FAF website as leaderboards
                                      • Newstab: display images and links
                                      • Vaults tab: items' icons (known or unknown) are always shown

                                      Unofficial Python client 0.18.13

                                      Created a pull request so other people who might want to build on top of these changes are able to do this.

                                      1 Reply Last reply Reply Quote 2
                                      • Brutus5000B Online
                                        Brutus5000 FAF Server Admin
                                        last edited by

                                        The pull request got merged and officially released by Strogo 🍾

                                        He said, "I've been to the year 3000
                                        Not much has changed, but they live underwater
                                        And your great-great-great-granddaughter
                                        Is playin' FAF, playin' FAF"

                                        1 Reply Last reply Reply Quote 2
                                        • D Offline
                                          Didvul
                                          last edited by

                                          I have not enough acquaintances to test it properly (and too dumb to write unit tests), so here it is:

                                          Unofficial Python client 0.19.1 omega TMM

                                          If it's OK, then I'll do a pull request a little bit later, because I had connection issues today (but also I had the same issues with 0.19.0, so It shouldn't be related to TMM).
                                          Anyway, It needs further work.

                                          1 Reply Last reply Reply Quote 3
                                          • D Offline
                                            Didvul
                                            last edited by

                                            • Forbid inviting those who are currently in game to party
                                            • Do not send "stop search" command as party guest
                                            • Display TMM ratings in the chatter's rank tooltip
                                            • Append correct TMM rating at game launch

                                            Unofficial Python client 0.19.11 psi TMM

                                            1 Reply Last reply Reply Quote 3
                                            • First post
                                              Last post