TripleA Logo TripleA Forum
    • TripleA Website
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    • Tags
    • Register
    • Login

    2.6 Release Getting Close - Need Volunteers to Help Beta Test 2.6

    Scheduled Pinned Locked Moved News
    241 Posts 23 Posters 199.1k Views 21 Watching
    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.
    • FlyingBadgerF Offline
      FlyingBadger
      last edited by

      Thanks to everyone for their hard work on 2.6, love some of the new features:

      • Potential scramble warning
      • Showing units in a territory in the status bar
      • No retreat symbol when picking casualties
      TheDogT 1 Reply Last reply Reply Quote 2
      • TheDogT Offline
        TheDog @FlyingBadger
        last edited by

        @flyingbadger
        Thanks for engaging and your 1st post!

        https://forums.triplea-game.org/tags/thedog
        https://forums.triplea-game.org/topic/3741/curated-best-top-maps-triplea-guides

        1 Reply Last reply Reply Quote 1
        • Z Offline
          zlefin Lobby Moderators
          last edited by

          I still get websocket errors sometimes on joining, I just had a string of like 6 of them. When I get one I can't chat at all, and I have to re-log in until it works. It happens maybe 20-30% of all logins, and I've never had a run fo the problem this long before.

          on 2.6.14748

          M 1 Reply Last reply Reply Quote 1
          • M Offline
            Myrd @zlefin
            last edited by

            @zlefin said in 2.6 Release Getting Close - Need Volunteers to Help Beta Test 2.6:

            I still get websocket errors sometimes on joining, I just had a string of like 6 of them. When I get one I can't chat at all, and I have to re-log in until it works. It happens maybe 20-30% of all logins, and I've never had a run fo the problem this long before.

            on 2.6.14748

            Can you post a screenshot of the specific error you're seeing?

            1 Reply Last reply Reply Quote 1
            • board 3659B Offline
              board 3659
              last edited by

              I may be able to assist in playtesting if it's needed

              1 Reply Last reply Reply Quote 1
              • cameronC Offline
                cameron @LaFayette
                last edited by

                @lafayette said in 2.6 Release Getting Close - Need Volunteers to Help Beta Test 2.6:

                @thedog & @Cernel , appreciate the recommendations. There were some updates to unit 'cycling', I think it was something like the 'sleep' was removed or something that. ...

                why would you remove the 'sleep' option‽

                LaFayetteL 1 Reply Last reply Reply Quote 0
                • Z Offline
                  zlefin Lobby Moderators
                  last edited by

                  So the error I get is

                  "Web Socket error ConcurrentModificationException"

                  Error Communicating with Lobby

                  I just updated to 2.6.14759 and am still getting the issue sometimes on login.

                  I'm not able to access or see the console window that I've sometimes seen in the past with error messages, maybe cuz I'm not in a game when this happens, I dunno, or maybe due to my installation on this computer being setup different.

                  The error I'm getting may be the same one logged by the builderbot here, hard to say.
                  https://github.com/triplea-game/triplea/issues/12613

                  If I try sending a message when I get the websocket error on login, I cannot and it says
                  "Failed to send text IOException: Output closed"
                  which matches what's in that listed issue.

                  I don't have any of the special testing settings enabled (eg the websocket beta one under settings - testing).

                  If other people aren't getting it, then it just won't be that important and we'll figure out why my system is having it, still not sure who else is using 2.6.x stuff and if anyone is gettin this issue, losing track of the prior discussion.

                  M 1 Reply Last reply Reply Quote 0
                  • M Offline
                    Myrd @zlefin
                    last edited by

                    @zlefin said in 2.6 Release Getting Close - Need Volunteers to Help Beta Test 2.6:

                    ConcurrentModificationException

                    Do you mind posting a screenshot next time it happens?
                    I'm not aware of a Web Socket error that's related to a ConcurrentModificationException. I see this error report about the latter, but it doesn't mention web socket. This would help us understand if it's the same thing or not.

                    M Z 2 Replies Last reply Reply Quote 0
                    • M Offline
                      Myrd @Myrd
                      last edited by

                      @myrd Sorry, meant to link to https://github.com/triplea-game/triplea/issues/12623

                      1 Reply Last reply Reply Quote 0
                      • Z Offline
                        zlefin Lobby Moderators @Myrd
                        last edited by

                        @myrd

                        I can try posting a screenshot, but it's not going to add any information, I already copied everything that was useable, and like I already said, it doesn't give the full console dump.

                        tripleaBug1.png

                        LaFayetteL B 2 Replies Last reply Reply Quote 0
                        • LaFayetteL Offline
                          LaFayette Admin @zlefin
                          last edited by

                          @zlefin Check for a file called 'triplea.log', it would be in the 'triplea' folder. That file likely has the full stack trace in it.

                          1 Reply Last reply Reply Quote 1
                          • LaFayetteL Offline
                            LaFayette Admin @cameron
                            last edited by

                            @cameron wrote:

                            why would you remove the 'sleep' option‽

                            https://forums.triplea-game.org/topic/2458/unit-scroller-issues-rfc-on-changes

                            In short:

                            • multiplayer games don't go for that many rounds, sleep not persisted in save games, relatively frequent loading of saves make sleep not useful. Sleep is most useful for large maps ,large maps are likely to be played for fewer rounds (where it would be most useful, except for those games don't go that many rounds between save/reload)
                            • the number of units that are put to sleep is overall low, the effort to skip them again is somewhat low
                            • issues with keybindings, particularly an issue in multiplayer where it's easier to not have keyboard focus on the map.

                            3 years later, I think we need usage statistics more than ever to help us. That is a bit of an aside.. Before bringing back sleep, we would want to redesign the hot keys a bit at least. I feel like 'a,s,d,f' should also be used for map navigation. Though, working through the various design issues and everything working well in multiplayer is possibly a hot mess. Getting 2.6 actually launched at all is the goal at the moment. Following that the release model is different.

                            cameronC 1 Reply Last reply Reply Quote 0
                            • LaFayetteL Offline
                              LaFayette Admin
                              last edited by LaFayette

                              RE: @Cernel / @Panther

                              @panther The serious problem is only for bot-users right? Anyone who does not use bots has no reasons not to get 2.6 correct?

                              I think @TheDog narrowed it down pretty precisely somewhere... My recollection, 2.5 host with 2.6 client is bad, mixing versions is bad. The problem is observed after trying to move a unit as a client, game crashes. (Bots are running 2.5, they count as the host)

                              Another issue, 2.6 can read save games from 2.5, but not the other way round. Having players downgrade pro-actively is not cost free (breaks all of their saves). Meanwhile those that joined lobby with 2.6 & played on bots quickly ran into issues already. This makes me think the focus needs to be on getting the 2.6 lobby & bots up & then vetted properly before we take next steps.

                              1 Reply Last reply Reply Quote 2
                              • B Offline
                                beelee @zlefin
                                last edited by

                                @zlefin

                                yea so this is where it is for me. My small "t" triplea folder

                                Screenshot from 2024-06-15 21-56-13.png

                                1 Reply Last reply Reply Quote 0
                                • cameronC Offline
                                  cameron @LaFayette
                                  last edited by

                                  @lafayette

                                  surely large maps mean more turns not less... certainly do in my games.
                                  it seems what you're saying is that it's not useful in multiplayer games so you're taking away the option from solo players just because we don't matter? i really don't understand why you'd remove the option. people don't have to use it if they don't want to. seems like you're punishing people for not playing the way you do.
                                  i didn't really get your bit about the keyboard shortcuts but if that's the problem just remove the keyboard shortcut - surely we don't have to have a keyboard shortcut for everything.

                                  ugh. skipping dozens of aaguns every round is such a pain in the arse.

                                  1 Reply Last reply Reply Quote 0
                                  • Z Offline
                                    zlefin Lobby Moderators
                                    last edited by

                                    ok, found that log file. here's the data it has from around the most recent instance

                                    313 08:16:49.940 [main] INFO o.t.game.client.HeadedGameRunner - Launching game, version: 2.6.14759
                                    406 08:16:50.033 [Thread-4] DEBUG g.s.e.data.gameparser.GameParser - Parsing game XML: C:\Users\Tom\triplea\downloadedMaps\battle_for_arda\map\games\Battle_For_Arda.xml
                                    10049 08:16:59.676 [HttpClient-1-Worker-0] ERROR o.t.h.c.w.s.GenericWebSocketClient - Web Socket error
                                    java.util.ConcurrentModificationException: null
                                    at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1626)
                                    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
                                    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
                                    at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
                                    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
                                    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
                                    at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
                                    at org.triplea.http.client.web.socket.GenericWebSocketClient.messageReceived(GenericWebSocketClient.java:133)
                                    at org.triplea.http.client.web.socket.WebSocketConnection$InternalWebSocketListener.onText(WebSocketConnection.java:248)
                                    at java.net.http/jdk.internal.net.http.websocket.WebSocketImpl$ReceiveTask.processText(WebSocketImpl.java:627)
                                    at java.net.http/jdk.internal.net.http.websocket.WebSocketImpl$ReceiveTask.run(WebSocketImpl.java:435)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:147)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:198)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:271)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:224)
                                    at java.net.http/jdk.internal.net.http.websocket.WebSocketImpl.tryChangeState(WebSocketImpl.java:853)
                                    at java.net.http/jdk.internal.net.http.websocket.WebSocketImpl$SignallingMessageConsumer.onText(WebSocketImpl.java:786)
                                    at java.net.http/jdk.internal.net.http.websocket.MessageDecoder.payloadData(MessageDecoder.java:222)
                                    at java.net.http/jdk.internal.net.http.websocket.Frame$Reader.readFrame(Frame.java:465)
                                    at java.net.http/jdk.internal.net.http.websocket.TransportImpl$ReceiveTask.run(TransportImpl.java:665)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:147)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:198)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:271)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:224)
                                    at java.net.http/jdk.internal.net.http.websocket.TransportImpl$ReadEvent.handle(TransportImpl.java:762)
                                    at java.net.http/jdk.internal.net.http.RawChannelTube$ReadSubscriber.checkEvents(RawChannelTube.java:174)
                                    at java.net.http/jdk.internal.net.http.RawChannelTube$ReadSubscriber.onNext(RawChannelTube.java:204)
                                    at java.net.http/jdk.internal.net.http.RawChannelTube$ReadSubscriber.onNext(RawChannelTube.java:157)
                                    at java.net.http/jdk.internal.net.http.common.SSLTube$DelegateWrapper.onNext(SSLTube.java:202)
                                    at java.net.http/jdk.internal.net.http.common.SSLTube$SSLSubscriberWrapper.onNext(SSLTube.java:484)
                                    at java.net.http/jdk.internal.net.http.common.SSLTube$SSLSubscriberWrapper.onNext(SSLTube.java:287)
                                    at java.net.http/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run1(SubscriberWrapper.java:318)
                                    at java.net.http/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run(SubscriberWrapper.java:261)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SynchronizedRestartableTask.run(SequentialScheduler.java:175)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:147)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:198)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:271)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:224)
                                    at java.net.http/jdk.internal.net.http.common.SubscriberWrapper.outgoing(SubscriberWrapper.java:234)
                                    at java.net.http/jdk.internal.net.http.common.SubscriberWrapper.outgoing(SubscriberWrapper.java:200)
                                    at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader.processData(SSLFlowDelegate.java:403)
                                    at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader$ReaderDownstreamPusher.run(SSLFlowDelegate.java:264)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SynchronizedRestartableTask.run(SequentialScheduler.java:175)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:147)
                                    at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:198)
                                    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
                                    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
                                    at java.base/java.lang.Thread.run(Thread.java:829)

                                    M 1 Reply Last reply Reply Quote 1
                                    • M Offline
                                      Myrd @zlefin
                                      last edited by

                                      @zlefin Thanks for reporting!
                                      I believe it should be fixed now with 2.6.14762.

                                      1 Reply Last reply Reply Quote 3
                                      • Z Offline
                                        zlefin Lobby Moderators
                                        last edited by

                                        it seems to be fixed, I'll keep an eye on it.

                                        However there's another issue which isn't necessarily new.

                                        I'm getting an error whenever I try to open the admin toolbox, which I uised to be able to when I was using 2.5.x

                                        other mod actions still work (insofar as I've tested), it's just opening the admin toolbox that isn't working.

                                        here's the log from the session, the error is a few lines down.

                                        204 13:21:30.921 [main] INFO o.t.game.client.HeadedGameRunner - Launching game, version: 2.6.14762
                                        329 13:21:31.046 [Thread-4] DEBUG g.s.e.data.gameparser.GameParser - Parsing game XML: C:\Users\Tom\triplea\downloadedMaps\battle_for_arda\map\games\Battle_For_Arda.xml
                                        14725 13:21:45.442 [AWT-EventQueue-0] ERROR o.t.game.client.HeadedGameRunner - [401 Unauthorized] during [GET] to [https://prod.triplea-game.org/maps/list-tags] [MapTagAdminClient#fetchAllowedMapTagValues()]: [Invalid request]
                                        feign.FeignException$Unauthorized: [401 Unauthorized] during [GET] to [https://prod.triplea-game.org/maps/list-tags] [MapTagAdminClient#fetchAllowedMapTagValues()]: [Invalid request]
                                        at feign.FeignException.clientErrorStatus(FeignException.java:224)
                                        at feign.FeignException.errorStatus(FeignException.java:203)
                                        at feign.FeignException.errorStatus(FeignException.java:194)
                                        at feign.FeignException.errorStatus(FeignException.java:171)
                                        at feign.InvocationContext.decodeError(InvocationContext.java:126)
                                        at feign.InvocationContext.proceed(InvocationContext.java:72)
                                        at feign.ResponseHandler.handleResponse(ResponseHandler.java:63)
                                        at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:114)
                                        at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:70)
                                        at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:99)
                                        at com.sun.proxy.$Proxy30.fetchAllowedMapTagValues(Unknown Source)
                                        at games.strategy.engine.lobby.moderator.toolbox.tabs.maps.MapsTabModel.fetchAllowedMapTagValues(MapsTabModel.java:44)
                                        at games.strategy.engine.lobby.moderator.toolbox.tabs.maps.MapsTab.mapTagTable(MapsTab.java:74)
                                        at games.strategy.engine.lobby.moderator.toolbox.tabs.maps.MapsTab.get(MapsTab.java:56)
                                        at games.strategy.engine.lobby.moderator.toolbox.tabs.TabFactory.buildMapsTab(TabFactory.java:77)
                                        at games.strategy.engine.lobby.moderator.toolbox.tabs.TabFactory.buildTabs(TabFactory.java:37)
                                        at games.strategy.engine.lobby.moderator.toolbox.ToolBoxWindow.lambda$showWindow$0(ToolBoxWindow.java:47)
                                        at org.triplea.swing.JFrameBuilder.lambda$build$0(JFrameBuilder.java:102)
                                        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
                                        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
                                        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
                                        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
                                        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
                                        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
                                        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
                                        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
                                        at org.triplea.swing.JFrameBuilder.build(JFrameBuilder.java:102)
                                        at games.strategy.engine.lobby.moderator.toolbox.ToolBoxWindow.lambda$showWindow$1(ToolBoxWindow.java:50)
                                        at org.triplea.swing.SwingAction.invokeNowOrLater(SwingAction.java:151)
                                        at games.strategy.engine.lobby.moderator.toolbox.ToolBoxWindow.showWindow(ToolBoxWindow.java:27)
                                        at games.strategy.triplea.ui.menubar.LobbyMenu.lambda$new$2(LobbyMenu.java:71)
                                        at org.triplea.swing.JMenuBuilder.lambda$addMenuItem$0(JMenuBuilder.java:54)
                                        at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
                                        at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
                                        at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
                                        at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
                                        at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
                                        at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
                                        at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
                                        at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
                                        at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
                                        at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
                                        at java.desktop/java.awt.Component.processEvent(Component.java:6400)
                                        at java.desktop/java.awt.Container.processEvent(Container.java:2263)
                                        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
                                        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
                                        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
                                        at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
                                        at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
                                        at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
                                        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
                                        at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
                                        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
                                        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
                                        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
                                        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
                                        at java.base/java.security.AccessController.doPrivileged(Native Method)
                                        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
                                        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
                                        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
                                        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
                                        at java.base/java.security.AccessController.doPrivileged(Native Method)
                                        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
                                        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
                                        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
                                        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
                                        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
                                        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
                                        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
                                        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

                                        1 Reply Last reply Reply Quote 2
                                        • Z Offline
                                          zlefin Lobby Moderators
                                          last edited by

                                          Is there a setting to change the battle calcs default nation selection? I couldn't find anything in engine settings or in the battle calc screen itself

                                          It used to be that it would default to the first hostile nation, but now it defaults to the nation who's current turn it is. That means that when I select one of my own provinces and open the battle calc it defaults to having my units as both the attacker and defender, which means I have to clear it in order to see what my units actual defenses are like (because a lot of units in the Arda map have modifiers that reduce hostile unit stats). I want to change the default so it's like it used to be, or at least defaults to something empty.

                                          M 1 Reply Last reply Reply Quote 3
                                          • B Offline
                                            beelee
                                            last edited by

                                            I thought when you overbought max units, it wouldn't obliterate your entire buy ?

                                            @TheDog did this change ?

                                            cameronC TheDogT 2 Replies Last reply Reply Quote 1

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 12
                                            • 13
                                            • 4 / 13
                                            • First post
                                              Last post
                                            Copyright © 2016-2018 TripleA-Devs | Powered by NodeBB Forums